diff mbox series

[9/9] kbuild: remove CONFIG_MODULE_COMPRESS

Message ID 20210331133811.3221540-9-masahiroy@kernel.org (mailing list archive)
State New
Headers show
Series [1/9] kbuild: remove unneeded mkdir for external modules_install | expand

Commit Message

Masahiro Yamada March 31, 2021, 1:38 p.m. UTC
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(-)

Comments

Nick Desaulniers March 31, 2021, 6:01 p.m. UTC | #1
On Wed, Mar 31, 2021 at 6:39 AM Masahiro Yamada <masahiroy@kernel.org> wrote:

Should the online be Kconfig rather than Kbuild, for a commit that
only changes Kconfigs?

>
> 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

The top level Makefile has comments and code that refer to this choice
which is now removed. I think you'll want to fix that up in this
change as well? Ah, patch 7 in the series does that:
https://lore.kernel.org/linux-kbuild/20210331133811.3221540-7-masahiroy@kernel.org/

Ok then this LGTM.
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>

> -       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
>
Masahiro Yamada April 7, 2021, 2:29 p.m. UTC | #2
On Wed, Mar 31, 2021 at 10:39 PM Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> 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


This should be "Compress modules with GZIP."


I will fix it when applied.







> +         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
>
diff mbox series

Patch

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