Commit c3d7ef37 authored by Piotr Gorski's avatar Piotr Gorski Committed by Masahiro Yamada

kbuild: add support for zstd compressed modules

kmod 28 supports modules compressed in zstd format so let's add this
possibility to kernel.
Signed-off-by: default avatarPiotr Gorski <lucjan.lucjanov@gmail.com>
Reviewed-by: default avatarOleksandr Natalenko <oleksandr@natalenko.name>
Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
parent d4bbe942
......@@ -2242,7 +2242,7 @@ choice
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.
MAY support gzip, xz and zstd.
Your build system needs to provide the appropriate compression tool
to compress the modules.
......@@ -2267,6 +2267,12 @@ config MODULE_COMPRESS_XZ
Compress modules with XZ. The installed modules are suffixed
with .ko.xz.
config MODULE_COMPRESS_ZSTD
bool "ZSTD"
help
Compress modules with ZSTD. The installed modules are suffixed
with .ko.zst.
endchoice
config MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS
......
......@@ -21,6 +21,7 @@ endif
suffix-y :=
suffix-$(CONFIG_MODULE_COMPRESS_GZIP) := .gz
suffix-$(CONFIG_MODULE_COMPRESS_XZ) := .xz
suffix-$(CONFIG_MODULE_COMPRESS_ZSTD) := .zst
modules := $(patsubst $(extmod_prefix)%, $(dst)/%$(suffix-y), $(modules))
......@@ -95,6 +96,8 @@ quiet_cmd_gzip = GZIP $@
cmd_gzip = $(KGZIP) -n -f $<
quiet_cmd_xz = XZ $@
cmd_xz = $(XZ) --lzma2=dict=2MiB -f $<
quiet_cmd_zstd = ZSTD $@
cmd_zstd = $(ZSTD) -T0 --rm -f -q $<
$(dst)/%.ko.gz: $(dst)/%.ko FORCE
$(call cmd,gzip)
......@@ -102,6 +105,9 @@ $(dst)/%.ko.gz: $(dst)/%.ko FORCE
$(dst)/%.ko.xz: $(dst)/%.ko FORCE
$(call cmd,xz)
$(dst)/%.ko.zst: $(dst)/%.ko FORCE
$(call cmd,zstd)
PHONY += FORCE
FORCE:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment