On Tue, Jul 11, 2023 at 01:28:28AM +0200, Benjamin Drung wrote:
> > > Okay. It works now. The not-compressed cpio archive must not be the last
> > > one. So the order is now:
> > >
> > > * AMD/Intel microcode cpio archive (on amd64)
> > > * compressed kernel modules / firmware (not compressed)
> > > * main cpio archive (compressed)
> > >
> > > I'll really stop now. For a first comparison, the firmware files need to
> > > be converted correctly. There are symlinks in /lib/firmware. So running
> > > following was not correct/enough:
> > >
> > > find /lib/firmware -name '*.bin' | while read -r fw; do
> > > sudo zstd -19 -z -o "${fw}.zst" "$fw"
> > > sudo rm "$fw"
> > > done
> > >
> > > If you want to help, hand me a correct conversion script.
> > Some filenames in /lib/firmware contain spaces. There are many more
> > files than .bin ones. A number of the files are readmes.
> > Recent changes in linux-firmware.git add "install-xz" and "install-zstd"
> > targets to make than will do what you want I guess. I haven't checked
> > that this was actually merged; it was discussed at least on 2023-03-01
> > on the mailing-list. It's probably the best path forward in any case.
> > In case it isn't merged, you can have a look at
> > https://lore.kernel.org/linux-firmware/20230301-fixes-and-compression-v2-0-e2b71974e842@gmail.com/T/
> I agree. The conversion script was just for a quick way to test. The
> clean approach would be to patch linux-firmware to produce two
> additional binary packages: linux-firmware-zst and linux-firmware-xz.
We need to find an upgrade path here that doesn't involve having to have
multiple linux-firmware binary packages with different compression types.
Ending up with three copies of the firmware in /lib on disk because of
different dependencies is not an improvement!
I understand the reason for being concerned about keeping uncompressed
firmware available is that not all kernels have support for compressed
firmware. However we should work out a path that lets us switch to
compressed firmware on releases where we know it's supported. What kernel
version introduced support for this?
--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer https://www.debian.org/
slangasek@ubuntu.com vorlon@debian.org