diff options
Diffstat (limited to 'init')
| -rw-r--r-- | init/Kconfig | 56 | ||||
| -rw-r--r-- | init/do_mounts.c | 15 |
2 files changed, 64 insertions, 7 deletions
diff --git a/init/Kconfig b/init/Kconfig index e84c6423a2e5..e25a82a291a6 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
| @@ -811,6 +811,7 @@ config LOG_BUF_SHIFT | |||
| 811 | int "Kernel log buffer size (16 => 64KB, 17 => 128KB)" | 811 | int "Kernel log buffer size (16 => 64KB, 17 => 128KB)" |
| 812 | range 12 21 | 812 | range 12 21 |
| 813 | default 17 | 813 | default 17 |
| 814 | depends on PRINTK | ||
| 814 | help | 815 | help |
| 815 | Select the minimal kernel log buffer size as a power of 2. | 816 | Select the minimal kernel log buffer size as a power of 2. |
| 816 | The final size is affected by LOG_CPU_MAX_BUF_SHIFT config | 817 | The final size is affected by LOG_CPU_MAX_BUF_SHIFT config |
| @@ -830,6 +831,7 @@ config LOG_CPU_MAX_BUF_SHIFT | |||
| 830 | range 0 21 | 831 | range 0 21 |
| 831 | default 12 if !BASE_SMALL | 832 | default 12 if !BASE_SMALL |
| 832 | default 0 if BASE_SMALL | 833 | default 0 if BASE_SMALL |
| 834 | depends on PRINTK | ||
| 833 | help | 835 | help |
| 834 | This option allows to increase the default ring buffer size | 836 | This option allows to increase the default ring buffer size |
| 835 | according to the number of CPUs. The value defines the contribution | 837 | according to the number of CPUs. The value defines the contribution |
| @@ -1475,6 +1477,7 @@ config FUTEX | |||
| 1475 | 1477 | ||
| 1476 | config HAVE_FUTEX_CMPXCHG | 1478 | config HAVE_FUTEX_CMPXCHG |
| 1477 | bool | 1479 | bool |
| 1480 | depends on FUTEX | ||
| 1478 | help | 1481 | help |
| 1479 | Architectures should select this if futex_atomic_cmpxchg_inatomic() | 1482 | Architectures should select this if futex_atomic_cmpxchg_inatomic() |
| 1480 | is implemented and always working. This removes a couple of runtime | 1483 | is implemented and always working. This removes a couple of runtime |
| @@ -1537,6 +1540,16 @@ config AIO | |||
| 1537 | by some high performance threaded applications. Disabling | 1540 | by some high performance threaded applications. Disabling |
| 1538 | this option saves about 7k. | 1541 | this option saves about 7k. |
| 1539 | 1542 | ||
| 1543 | config ADVISE_SYSCALLS | ||
| 1544 | bool "Enable madvise/fadvise syscalls" if EXPERT | ||
| 1545 | default y | ||
| 1546 | help | ||
| 1547 | This option enables the madvise and fadvise syscalls, used by | ||
| 1548 | applications to advise the kernel about their future memory or file | ||
| 1549 | usage, improving performance. If building an embedded system where no | ||
| 1550 | applications use these syscalls, you can disable this option to save | ||
| 1551 | space. | ||
| 1552 | |||
| 1540 | config PCI_QUIRKS | 1553 | config PCI_QUIRKS |
| 1541 | default y | 1554 | default y |
| 1542 | bool "Enable PCI quirk workarounds" if EXPERT | 1555 | bool "Enable PCI quirk workarounds" if EXPERT |
| @@ -1906,6 +1919,49 @@ config MODULE_SIG_HASH | |||
| 1906 | default "sha384" if MODULE_SIG_SHA384 | 1919 | default "sha384" if MODULE_SIG_SHA384 |
| 1907 | default "sha512" if MODULE_SIG_SHA512 | 1920 | default "sha512" if MODULE_SIG_SHA512 |
| 1908 | 1921 | ||
| 1922 | config MODULE_COMPRESS | ||
| 1923 | bool "Compress modules on installation" | ||
| 1924 | depends on MODULES | ||
| 1925 | help | ||
| 1926 | This option compresses the kernel modules when 'make | ||
| 1927 | modules_install' is run. | ||
| 1928 | |||
| 1929 | The modules will be compressed either using gzip or xz depend on the | ||
| 1930 | choice made in "Compression algorithm". | ||
| 1931 | |||
| 1932 | module-init-tools has support for gzip format while kmod handle gzip | ||
| 1933 | and xz compressed modules. | ||
| 1934 | |||
| 1935 | When a kernel module is installed from outside of the main kernel | ||
| 1936 | source and uses the Kbuild system for installing modules then that | ||
| 1937 | kernel module will also be compressed when it is installed. | ||
| 1938 | |||
| 1939 | This option provides little benefit when the modules are to be used inside | ||
| 1940 | an initrd or initramfs, it generally is more efficient to compress the whole | ||
| 1941 | initrd or initramfs instead. | ||
| 1942 | |||
| 1943 | This is fully compatible with signed modules while the signed module is | ||
| 1944 | compressed. module-init-tools or kmod handles decompression and provide to | ||
| 1945 | other layer the uncompressed but signed payload. | ||
| 1946 | |||
| 1947 | choice | ||
| 1948 | prompt "Compression algorithm" | ||
| 1949 | depends on MODULE_COMPRESS | ||
| 1950 | default MODULE_COMPRESS_GZIP | ||
| 1951 | help | ||
| 1952 | This determines which sort of compression will be used during | ||
| 1953 | 'make modules_install'. | ||
| 1954 | |||
| 1955 | GZIP (default) and XZ are supported. | ||
| 1956 | |||
| 1957 | config MODULE_COMPRESS_GZIP | ||
| 1958 | bool "GZIP" | ||
| 1959 | |||
| 1960 | config MODULE_COMPRESS_XZ | ||
| 1961 | bool "XZ" | ||
| 1962 | |||
| 1963 | endchoice | ||
| 1964 | |||
| 1909 | endif # MODULES | 1965 | endif # MODULES |
| 1910 | 1966 | ||
| 1911 | config INIT_ALL_POSSIBLE | 1967 | config INIT_ALL_POSSIBLE |
diff --git a/init/do_mounts.c b/init/do_mounts.c index b6237c31b0e2..9b3565c41502 100644 --- a/init/do_mounts.c +++ b/init/do_mounts.c | |||
| @@ -182,7 +182,8 @@ done: | |||
| 182 | /* | 182 | /* |
| 183 | * Convert a name into device number. We accept the following variants: | 183 | * Convert a name into device number. We accept the following variants: |
| 184 | * | 184 | * |
| 185 | * 1) device number in hexadecimal represents itself | 185 | * 1) <hex_major><hex_minor> device number in hexadecimal represents itself |
| 186 | * no leading 0x, for example b302. | ||
| 186 | * 2) /dev/nfs represents Root_NFS (0xff) | 187 | * 2) /dev/nfs represents Root_NFS (0xff) |
| 187 | * 3) /dev/<disk_name> represents the device number of disk | 188 | * 3) /dev/<disk_name> represents the device number of disk |
| 188 | * 4) /dev/<disk_name><decimal> represents the device number | 189 | * 4) /dev/<disk_name><decimal> represents the device number |
| @@ -539,6 +540,12 @@ void __init prepare_namespace(void) | |||
| 539 | { | 540 | { |
| 540 | int is_floppy; | 541 | int is_floppy; |
| 541 | 542 | ||
| 543 | if (root_delay) { | ||
| 544 | printk(KERN_INFO "Waiting %d sec before mounting root device...\n", | ||
| 545 | root_delay); | ||
| 546 | ssleep(root_delay); | ||
| 547 | } | ||
| 548 | |||
| 542 | /* | 549 | /* |
| 543 | * wait for the known devices to complete their probing | 550 | * wait for the known devices to complete their probing |
| 544 | * | 551 | * |
| @@ -565,12 +572,6 @@ void __init prepare_namespace(void) | |||
| 565 | if (initrd_load()) | 572 | if (initrd_load()) |
| 566 | goto out; | 573 | goto out; |
| 567 | 574 | ||
| 568 | if (root_delay) { | ||
| 569 | pr_info("Waiting %d sec before mounting root device...\n", | ||
| 570 | root_delay); | ||
| 571 | ssleep(root_delay); | ||
| 572 | } | ||
| 573 | |||
| 574 | /* wait for any asynchronous scanning to complete */ | 575 | /* wait for any asynchronous scanning to complete */ |
| 575 | if ((ROOT_DEV == 0) && root_wait) { | 576 | if ((ROOT_DEV == 0) && root_wait) { |
| 576 | printk(KERN_INFO "Waiting for root device %s...\n", | 577 | printk(KERN_INFO "Waiting for root device %s...\n", |
