[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d5989a0b-f46f-fb49-8d44-1822d69bc4cf@gmail.com>
Date: Thu, 4 Jan 2024 02:04:21 -0500 (EST)
From: Kevin Martin <kevinmbecause@...il.com>
To: Masahiro Yamada <masahiroy@...nel.org>
cc: Kevin Martin <kevinmbecause@...il.com>,
Nathan Chancellor <nathan@...nel.org>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Nicolas Schier <nicolas@...sle.eu>, linux-kbuild@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [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.
On Wed, 3 Jan 2024, Masahiro Yamada wrote:
> On Wed, Dec 20, 2023 at 7:26 PM Kevin Martin <kevinmbecause@...il.com> wrote:
> >
> > Signed-off-by: Kevin Martin <kevinmbecause@...il.com>
> > ---
> > 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 > $@
> > +
>
>
>
> Please do not fork the meaningless 'cat' process.
>
> This should be a single process to take just one input file.
>
> cmd_xzdec = $(XZ) --decompress --stdout $< > $@
>
>
>
>
> Commit d3dd3b5a29bb9582957451531fed461628dfc834
> was a very bad commit.
>
> The 'cat' and compression/decompression must be
> separate rules.
>
> We should not repeat the mistake in the past.
>
Would it be preferable to change all of the compression rules or just the
new decompression rules?
I could change just the new ones and then begin working on a different
patch to clean up the 'cat' processes in the compression rules.
>
>
> > # 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 > $@
> > +
>
>
> Same here.
> Please make this a single process:
>
> cmd_zstddec = $(ZSTD) --decompress --force --output=$@ $<
>
>
>
>
>
>
> One small concern in the future is, if we end up with adding
> quiet_cmd_bzip2dec, we will run out of the 7-column of the short log.
>
> quiet_cmd_bzip2dec = BZIP2DEC$@
>
> We can increase the column size if needed, so I do not think
> it is a big issue.
>
>
>
>
>
>
>
>
>
>
> > # ASM offsets
> > # ---------------------------------------------------------------------------
> >
> > --
> > 2.41.0
> >
>
>
> --
> Best Regards
> Masahiro Yamada
>
Powered by blists - more mailing lists