Cyril Brulebois
2021-08-22 14:10:01 UTC
As mentioned in the Bullseye errata, there seems to be a number of
sound cards that require loading a firmware to be able to emit sound
(e.g. Intel SOF). Unfortunately currently the installer loads firmware
after loading the ISO image, while speech synthesis is needed at the
very first interaction with the user, which is usually before that. We'd
thus want (for the firmware-enabled image) to include firmware in the
initrd somehow.
For context, that's sof I was fighting with:sound cards that require loading a firmware to be able to emit sound
(e.g. Intel SOF). Unfortunately currently the installer loads firmware
after loading the ISO image, while speech synthesis is needed at the
very first interaction with the user, which is usually before that. We'd
thus want (for the firmware-enabled image) to include firmware in the
initrd somehow.
https://tracker.debian.org/news/1245087/accepted-hw-detect-1147-source-into-unstable/
We discussed a bit on IRC, possibly we could just, at debian-cd step,
catenate the cpio archives, or unpack/assemble/repack, or ship several
initrds.
Let's clarify a little:catenate the cpio archives, or unpack/assemble/repack, or ship several
initrds.
- Shipping several initrds would probably mean having an empty,
placeholder-like âextrastuff.gzâ set by the debian-installer build,
that we would replace with some firmware-containing initrd for some
builds in debian-cd; that would mean that src:debian-installer would
still be responsible for setting up the relevant bootloader config,
instead of having part of it in debian-installer, and another part
in debian-cd.
- But I don't think that's required, adjusting the initrd in debian-cd
should be far easier.
I thought about the âcombine archivesâ part and smcv confirmed we should
just be able to cat (compressed) CPIO archives together. I've tried the
following with a netboot-gtk build (easier than trying to edit a
firmware-enabled ISO :D), keeping in mind my cpio-speak is rusty:
dpkg -x firmware-sof-signed_1.7-1_all.deb tmp
(cd tmp; find lib | cpio -Hnewc -o) | gzip -9 > ~/debian-installer/installer/build/firmware-sof-signed.cpio.gz
cd ~/debian-installer/installer
patch -p1 < ~/0001-Talk-to-me.patch # attached this timeâŠ
make -C build/ rebuild_netboot-gtk USE_UDEBS_FROM=bullseye
I have *not* conducted extended testing, but that still boots
successfully within qemu with -soundhw all, and speaks when using the
's' shortcut for speech synthesis.
And once booted on my sof-enabled laptop, it starts speaking, so I
suppose that's a successful PoC; next step is to confirm whether
tweaking debian-cd to do the cat dance looks good to Steve as well.
Cheers,
--
Cyril Brulebois (***@debian.org) <https://debamax.com/>
D-I release manager -- Release team member -- Freelance Consultant
Cyril Brulebois (***@debian.org) <https://debamax.com/>
D-I release manager -- Release team member -- Freelance Consultant