On firmware images, include the sound firmwares

in the espeakup-enabled initrd itself. Closes: #992699
This commit is contained in:
Samuel Thibault 2022-02-13 19:41:12 +01:00
parent 465f9c335b
commit daa1af93d0
3 changed files with 35 additions and 0 deletions

4
debian/changelog vendored
View File

@ -27,6 +27,10 @@ debian-cd (3.1.36) UNRELEASED; urgency=medium
* Avoid embedding timestamps into gzipped Packages and Translations files.
* Pass --invariant and -i deb00001 to mkfs.msdos
[ Samuel Thibault ]
* On firmware images, include the sound firmwares in the espeakup-enabled
initrd itself. Closes: #992699
-- Steve McIntyre <93sam@debian.org> Mon, 26 Jul 2021 01:02:03 +0100
debian-cd (3.1.35) unstable; urgency=medium

View File

@ -407,6 +407,13 @@ if [ "$LOGOPNG" ] ; then
rm -rf $INITRDDIR
fi
# Include sound firmware in initrd so they can be loaded before espeakup starts
if [ -n "boot$N/isolinux/spk.cfg ]; then
install_firmwares_initrd "$CDDIR/$INSTALLDIR/initrd" "firmware-sof-signed"
elif [ -n "boot$N/isolinux/spkgtk.cfg ]; then
install_firmwares_initrd "$CDDIR/$INSTALLDIR/gtk/initrd" "firmware-sof-signed"
fi
sed -i "s|built on|built $BUILD_DATE; d-i|" boot$N/isolinux/f1.txt
if [ -n "$KERNEL_PARAMS" ]; then

View File

@ -222,3 +222,27 @@ extra_image () {
fi
done
}
install_firmwares_initrd () {
initrd=$1
regex="$2"
if [ "$FORCE_FIRMWARE"x = "1"x ]; then
FILES=`$BASEDIR/tools/catz ${MIRROR}/dists/${DI_DIST}/*/binary-${ARCH}/Packages.gz | \
grep-dctrl -Pe "$regex" -sFilename -n`
if [ -n "${FILES}" ]; then
echo " Adding firmwares from" ${FILES}
initrdgz=$initrd.gz
FWDIR=$TDIR/firmware
zcat $initrdgz > $initrd
rm -f $initrdgz
for FILE in $FILES; do
dpkg -x "${MIRROR}/${FILE}" ${FWDIR}
done
(cd ${FWDIR} ; find lib/firmware | cpio -oA -H newc -F $initrd)
gzip -9 $initrd
rm -fr $FWDIR
fi
fi
}