diff mbox series

[v2,1/2] kbuild: Enable decompression for use by EXTRA_FIRMWARE

Message ID 941a566eb114701685dc44f708f81891b3bd085b.1704353568.git.kevinmbecause@gmail.com (mailing list archive)
State New, archived
Headers show
Series Enable compressed files in EXTRA_FIRMWARE | expand

Commit Message

Kevin Martin Jan. 5, 2024, 6:10 a.m. UTC
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.

Signed-off-by: Kevin Martin <kevinmbecause@gmail.com>
---
Changes in v2:
- Skipped running 'cat' and now just pass the file names directly.
- Added '--quiet' since 'zstd' started printing the status of each file
now that it knows the file names.

 scripts/Makefile.lib | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Masahiro Yamada Jan. 7, 2024, 11:40 a.m. UTC | #1
On Fri, Jan 5, 2024 at 3:11 PM Kevin Martin <kevinmbecause@gmail.com> wrote:
>
> 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.
>
> Signed-off-by: Kevin Martin <kevinmbecause@gmail.com>
> ---
> Changes in v2:
> - Skipped running 'cat' and now just pass the file names directly.
> - Added '--quiet' since 'zstd' started printing the status of each file
> now that it knows the file names.
>


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



>  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 = $(XZ) --decompress --stdout $< > $@
> +
>  # 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 = $(ZSTD) --decompress --force --quiet -o $@ $<
> +
>  # ASM offsets
>  # ---------------------------------------------------------------------------
>
> --
> 2.41.0
>
diff mbox series

Patch

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 = $(XZ) --decompress --stdout $< > $@
+
 # 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 = $(ZSTD) --decompress --force --quiet -o $@ $<
+
 # ASM offsets
 # ---------------------------------------------------------------------------