[PATCH 1/2] kbuild: Enable decompression for use by EXTRA_FIRMWARE The build system can currently only compress files. This patch adds the functionality to decompress files. Decompression is needed for building firmware files into the kernel if those files are compressed on the filesystem. Compressed firmware files are in use by Gentoo, Fedora, Arch, and others.

From: Kevin Martin
Date: Wed Dec 20 2023 - 05:27:08 EST


Signed-off-by: Kevin Martin <kevinmbecause@xxxxxxxxx>
---
scripts/Makefile.lib | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 1a965fe68..d043be3dc 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -523,6 +523,9 @@ quiet_cmd_xzkern_with_size = XZKERN $@
quiet_cmd_xzmisc = XZMISC $@
cmd_xzmisc = cat $(real-prereqs) | $(XZ) --check=crc32 --lzma2=dict=1MiB > $@

+quiet_cmd_xzdec = XZDEC $@
+ cmd_xzdec = cat $(real-prereqs) | $(XZ) --decompress > $@
+
# ZSTD
# ---------------------------------------------------------------------------
# Appends the uncompressed size of the data using size_append. The .zst
@@ -548,6 +551,9 @@ quiet_cmd_zstd22 = ZSTD22 $@
quiet_cmd_zstd22_with_size = ZSTD22 $@
cmd_zstd22_with_size = { cat $(real-prereqs) | $(ZSTD) -22 --ultra; $(size_append); } > $@

+quiet_cmd_zstddec = ZSTDDEC $@
+ cmd_zstddec = cat $(real-prereqs) | $(ZSTD) --decompress > $@
+
# ASM offsets
# ---------------------------------------------------------------------------

--
2.41.0