[PATCH 9/9] kbuild: remove CONFIG_MODULE_COMPRESS

Masahiro Yamada
2021-03-31T13:40:28Z

CONFIG_MODULE_COMPRESS is only used to activate the choice for module
compression algorithm. It will be simpler to make the choice visible
all the time by adding CONFIG_MODULE_COMPRESS_NONE to allow the user to
disable module compression.

This is more consistent with the "Kernel compression mode" and "Built-in
initramfs compression mode" choices.

CONFIG_KERNEL_UNCOMPRESSED and CONFIG_INITRAMFS_COMPRESSION_NONE are
available to choose to not compress the kernel, initrd, respectively.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---

init/Kconfig | 45 ++++++++++++++++++++++++++-------------------
1 file changed, 26 insertions(+), 19 deletions(-)

diff --git a/init/Kconfig b/init/Kconfig
index 019c1874e609..3ca1ffd219c4 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -2225,40 +2225,47 @@ config MODULE_SIG_HASH
default "sha384" if MODULE_SIG_SHA384
default "sha512" if MODULE_SIG_SHA512

-config MODULE_COMPRESS
- bool "Compress modules on installation"
+choice
+ prompt "Module compression mode"
help
+ This option allows you to choose the algorithm which will be used to
+ compress modules when 'make modules_install' is run. (or, you can
+ choose to not compress modules at all.)

- Compresses kernel modules when 'make modules_install' is run; gzip or
- xz depending on "Compression algorithm" below.
+ External modules will also be compressed in the same way during the
+ installation.

- module-init-tools MAY support gzip, and kmod MAY support gzip and xz.
+ For modules inside an initrd or initramfs, it's more efficient to
+ compress the whole initrd or initramfs instead.

- Out-of-tree kernel modules installed using Kbuild will also be
- compressed upon installation.
+ This is fully compatible with signed modules.

- Note: for modules inside an initrd or initramfs, it's more efficient
- to compress the whole initrd or initramfs instead.
+ Please note that the tool used to load modules needs to support the
+ corresponding algorithm. module-init-tools MAY support gzip, and kmod
+ MAY support gzip and xz.

- Note: This is fully compatible with signed modules.
+ Your build system needs to provide the appropriate compression tool
+ to compress the modules.

- If in doubt, say N.
+ If in doubt, select 'None'.

-choice
- prompt "Compression algorithm"
- depends on MODULE_COMPRESS
- default MODULE_COMPRESS_GZIP
+config MODULE_COMPRESS_NONE
+ bool "None"
help
- This determines which sort of compression will be used during
- 'make modules_install'.
-
- GZIP (default) and XZ are supported.
+ Do not compress modules. The installed modules are suffixed
+ with .ko.

config MODULE_COMPRESS_GZIP
bool "GZIP"
+ help
+ Compress modules with XZ. The installed modules are suffixed
+ with .ko.gz.

config MODULE_COMPRESS_XZ
bool "XZ"
+ help
+ Compress modules with XZ. The installed modules are suffixed
+ with .ko.xz.

endchoice

--
2.27.0