Re: [PATCH] initramfs: don't double-compress built-in initramfs if the kernel is compressed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi.

On Tue, Feb 4, 2020 at 6:16 AM Arvind Sankar <nivedita@xxxxxxxxxxxx> wrote:
>
> If the kernel is going to be compressed anyway, there is no point in
> double-compressing the built-in initramfs. Hide the built-in initramfs
> compression choice in this case.
>
> Signed-off-by: Arvind Sankar <nivedita@xxxxxxxxxxxx>


Double-compression slightly reduces the data size.
And, keeping the bare vmlinux small is beneficial, IMHO.




> ---
>  init/Kconfig | 9 +++++++++
>  usr/Kconfig  | 2 +-
>  2 files changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/init/Kconfig b/init/Kconfig
> index 24b23d843df1..88da0976bbfa 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -176,6 +176,9 @@ config HAVE_KERNEL_LZ4
>  config HAVE_KERNEL_UNCOMPRESSED
>         bool
>
> +config KERNEL_COMPRESSED
> +       bool
> +
>  choice
>         prompt "Kernel compression mode"
>         default KERNEL_GZIP
> @@ -201,6 +204,7 @@ choice
>  config KERNEL_GZIP
>         bool "Gzip"
>         depends on HAVE_KERNEL_GZIP
> +       select KERNEL_COMPRESSED
>         help
>           The old and tried gzip compression. It provides a good balance
>           between compression ratio and decompression speed.
> @@ -208,6 +212,7 @@ config KERNEL_GZIP
>  config KERNEL_BZIP2
>         bool "Bzip2"
>         depends on HAVE_KERNEL_BZIP2
> +       select KERNEL_COMPRESSED
>         help
>           Its compression ratio and speed is intermediate.
>           Decompression speed is slowest among the choices.  The kernel
> @@ -218,6 +223,7 @@ config KERNEL_BZIP2
>  config KERNEL_LZMA
>         bool "LZMA"
>         depends on HAVE_KERNEL_LZMA
> +       select KERNEL_COMPRESSED
>         help
>           This compression algorithm's ratio is best.  Decompression speed
>           is between gzip and bzip2.  Compression is slowest.
> @@ -226,6 +232,7 @@ config KERNEL_LZMA
>  config KERNEL_XZ
>         bool "XZ"
>         depends on HAVE_KERNEL_XZ
> +       select KERNEL_COMPRESSED
>         help
>           XZ uses the LZMA2 algorithm and instruction set specific
>           BCJ filters which can improve compression ratio of executable
> @@ -241,6 +248,7 @@ config KERNEL_XZ
>  config KERNEL_LZO
>         bool "LZO"
>         depends on HAVE_KERNEL_LZO
> +       select KERNEL_COMPRESSED
>         help
>           Its compression ratio is the poorest among the choices. The kernel
>           size is about 10% bigger than gzip; however its speed
> @@ -249,6 +257,7 @@ config KERNEL_LZO
>  config KERNEL_LZ4
>         bool "LZ4"
>         depends on HAVE_KERNEL_LZ4
> +       select KERNEL_COMPRESSED
>         help
>           LZ4 is an LZ77-type compressor with a fixed, byte-oriented encoding.
>           A preliminary version of LZ4 de/compression tool is available at
> diff --git a/usr/Kconfig b/usr/Kconfig
> index bdf5bbd40727..f39eeb9ea2e3 100644
> --- a/usr/Kconfig
> +++ b/usr/Kconfig
> @@ -102,7 +102,7 @@ config RD_LZ4
>
>  choice
>         prompt "Built-in initramfs compression mode"
> -       depends on INITRAMFS_SOURCE != ""
> +       depends on INITRAMFS_SOURCE != "" && !KERNEL_COMPRESSED
>         help
>           This option allows you to decide by which algorithm the builtin
>           initramfs will be compressed.  Several compression algorithms are
> --
> 2.24.1
>


-- 
Best Regards
Masahiro Yamada



[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux