| From 2fd31b8cf92df88cf5942807bb375937778b5174 Mon Sep 17 00:00:00 2001 |
| From: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> |
| Date: Mon, 16 Mar 2020 14:25:19 +0300 |
| Subject: [PATCH] initramfs: restore default compression behavior |
| |
| commit 785d74ec3bbf26ac7f6e92e6e96a259aec0f107a upstream. |
| |
| 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@synopsys.com> |
| Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/usr/Kconfig b/usr/Kconfig |
| index 43658b8a975e..8b4826de1189 100644 |
| --- a/usr/Kconfig |
| +++ b/usr/Kconfig |
| @@ -131,17 +131,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 |
| @@ -214,6 +203,17 @@ 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 |
| |
| config INITRAMFS_COMPRESSION |
| -- |
| 2.7.4 |
| |