diff --git a/debian/changelog b/debian/changelog index e41d51c0..b42042c6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,8 @@ debian-cd (3.2.2) UNRELEASED; urgency=medium control which packages are included - see tasks/$codename/firmware-exclude. Closes: #1032071 * Tweak sizes slightly for BD media. + * Look for firmware in /usr/lib/firmware as well as /lib/firmware. + Closes: #1059858 [ Guido Berhoerster ] * Update DebianEdu installer banner and syslinux splash image diff --git a/tools/boot/bookworm/common.sh b/tools/boot/bookworm/common.sh index cfad8d1a..8959f8f8 100644 --- a/tools/boot/bookworm/common.sh +++ b/tools/boot/bookworm/common.sh @@ -240,7 +240,7 @@ install_firmwares_initrd () { for FILE in $FILES; do dpkg -x "${MIRROR}/${FILE}" ${FWDIR} done - (cd ${FWDIR} ; find lib/firmware | cpio -oA -H newc -F $initrd) + (cd ${FWDIR} ; find lib/firmware -o usr/lib/firmware | cpio -oA -H newc -F $initrd) pigz -9nm $initrd rm -fr $FWDIR else diff --git a/tools/boot/trixie/common.sh b/tools/boot/trixie/common.sh index cfad8d1a..8959f8f8 100644 --- a/tools/boot/trixie/common.sh +++ b/tools/boot/trixie/common.sh @@ -240,7 +240,7 @@ install_firmwares_initrd () { for FILE in $FILES; do dpkg -x "${MIRROR}/${FILE}" ${FWDIR} done - (cd ${FWDIR} ; find lib/firmware | cpio -oA -H newc -F $initrd) + (cd ${FWDIR} ; find lib/firmware -o usr/lib/firmware | cpio -oA -H newc -F $initrd) pigz -9nm $initrd rm -fr $FWDIR else diff --git a/tools/generate_firmware_task b/tools/generate_firmware_task index 351f541f..2dfa7836 100755 --- a/tools/generate_firmware_task +++ b/tools/generate_firmware_task @@ -5,8 +5,10 @@ # Work out which firmware packages we need # Several steps: # -# 1. Look for packages which contain "firmware" or "microcode" in their package names -# 2. Check each of those packages to see if they contain files in /lib/firmware +# 1. Look for packages which contain "firmware" or "microcode" in +# their package names +# 2. Check each of those packages to see if they contain files in +# /lib/firmware or /usr/lib/firmware # 3. For those that do, output the package name into the firmware task # # Copyright Steve McIntyre <93sam@debian.org> 2011 @@ -29,12 +31,15 @@ my $cpp_command; my %excluded; sub contains_firmware($$) { + my ($mirror, $filename) = @_; my $count = 0; - open (PKGLISTING, "dpkg --contents $mirror/$filename | grep ' ./lib/firmware/' |") or + open (PKGLISTING, "dpkg --contents $mirror/$filename |") or die "Can't check package file $filename: $!\n"; while ($_ = ) { - $count++; + $_ =~ /\.\/lib\/firmware\// and $count++; + $_ =~ /\.\/usr\/lib\/firmware\// and $count++; } + close PKGLISTING; if ($count) { return 1; } else {