[Pkg-raspi-maintainers] Bug#979977: raspi-firmware: Seems to ignore latest installed kernel (5.10.0-1-armmp-lpae) while the booting kernel is older (5.10.0-trunk-armmp-lpae)
Gunnar Wolf
gwolf at debian.org
Thu Jan 28 17:04:29 GMT 2021
tags 979977 + confirmed
thanks
Ummh, interesting...
Latest kernel and initrd are found by the following simplistic,
lexicographic logic:
latest_kernel=$(ls -1 /boot/vmlinuz-* | grep -v '\.dpkg-bak$' | sort -V -r | head -1)
if [ -z "$latest_kernel" ]; then
echo "raspi-firmware: no kernel found in /boot/vmlinuz-*, cannot populate /boot/firmware"
exit 0
fi
latest_initrd=$(ls -1 /boot/initrd.img-* | grep -v '\.dpkg-bak$' | sort -V -r | head -1)
if [ -z "$latest_initrd" ]; then
echo "raspi-firmware: no initrd found in /boot/initrd.img-*, cannot populate /boot/firmware"
exit 0
fi
So... Yes, it behaves as you report. Modifying the logic to search in
/tmp/boot:
$ touch /tmp/boot/vmlinuz-{5.10.0-trunk-armmp-lpae,5.10.0-1-armmp-lpae}
$ latest_kernel=$(ls -1 /tmp/boot/vmlinuz-* | grep -v '\.dpkg-bak$' | sort -V -r | head -1)
$ echo $latest_kernel
/tmp/boot/vmlinuz-5.10.0-trunk-armmp-lpae
Now... What to do here? I think dpkg --compare-versions here agreees
with the simplistic ordering set by ls:
$ if dpkg --compare-versions 5.10.0-trunk-armmp-lpae gt 5.10.0-1-armmp-lpae
then
echo trunk is larger
else
echo 1 is larger
fi
trunk is larger
How would you suggest to check for this?
More information about the Pkg-raspi-maintainers
mailing list