Re: [PATCH v2] initramfs: restore default compression behavior

From: Masahiro Yamada
Date: Mon Mar 16 2020 - 20:52:23 EST


On Mon, Mar 16, 2020 at 8:25 PM Eugeniy Paltsev
<Eugeniy.Paltsev@xxxxxxxxxxxx> wrote:
>
> Even though INITRAMFS_SOURCE kconfig option isn't set in most of
> defconfigs it is used (set) extensively by various build systems.
> Commit f26661e12765 ("initramfs: make initramfs compression choice
> non-optional") has changed default compression mode. Previously we
> compress initramfs using available compression algorithm. Now
> we don't use any compression at all by default.
> It significantly increases the image size in case of build system
> chooses embedded initramfs. Initially I faced with this issue while
> using buildroot.
>
> As of today it's not possible to set preferred compression mode
> in target defconfig as this option depends on INITRAMFS_SOURCE
> being set. Modification of all build systems either doesn't look
> like good option.
>
> Let's instead rewrite initramfs compression mode choices list
> the way that "INITRAMFS_COMPRESSION_NONE" will be the last option
> in the list. In that case it will be chosen only if all other
> options (which implements any compression) are not available.
>
> Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@xxxxxxxxxxxx>


Applied to linux-kbuild.
Thanks.



> ---
> usr/Kconfig | 22 +++++++++++-----------
> 1 file changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/usr/Kconfig b/usr/Kconfig
> index bdf5bbd40727..96afb03b65f9 100644
> --- a/usr/Kconfig
> +++ b/usr/Kconfig
> @@ -124,17 +124,6 @@ choice
>
> If in doubt, select 'None'
>
> -config INITRAMFS_COMPRESSION_NONE
> - bool "None"
> - help
> - Do not compress the built-in initramfs at all. This may sound wasteful
> - in space, but, you should be aware that the built-in initramfs will be
> - compressed at a later stage anyways along with the rest of the kernel,
> - on those architectures that support this. However, not compressing the
> - initramfs may lead to slightly higher memory consumption during a
> - short time at boot, while both the cpio image and the unpacked
> - filesystem image will be present in memory simultaneously
> -
> config INITRAMFS_COMPRESSION_GZIP
> bool "Gzip"
> depends on RD_GZIP
> @@ -207,4 +196,15 @@ config INITRAMFS_COMPRESSION_LZ4
> If you choose this, keep in mind that most distros don't provide lz4
> by default which could cause a build failure.
>
> +config INITRAMFS_COMPRESSION_NONE
> + bool "None"
> + help
> + Do not compress the built-in initramfs at all. This may sound wasteful
> + in space, but, you should be aware that the built-in initramfs will be
> + compressed at a later stage anyways along with the rest of the kernel,
> + on those architectures that support this. However, not compressing the
> + initramfs may lead to slightly higher memory consumption during a
> + short time at boot, while both the cpio image and the unpacked
> + filesystem image will be present in memory simultaneously
> +
> endchoice
> --
> 2.21.1
>


--
Best Regards
Masahiro Yamada