[Pkg-raspi-maintainers] Bug#948712: raspi-firmware: Workaround to avoid postinst error on Pinebook Pro
Paul Seelig
wmlive at users.sf.net
Fri Dec 12 20:10:53 GMT 2025
Package: raspi-firmware
Followup-For: Bug #948712
X-Debbugs-Cc: wmlive at users.sf.net
Dear maintainer,
using a simple modification of two postinst scripts, it it easily possible to avoid unnecessary grief for users of the Pinebook Pro and possibly other PINE64 devices.
The proposed modification consists of an additional check to verify if the platfom actually is an RPI before raising an error condition just because /boot/firmware is not a mount point.
On Pinebook Pro and some other PINE64 devices, /boot/firmware is usually just a subdirectory and there is no need to complicate things by insisting it to be a mount point.
See attached diffs for how this was resolved for our own use.
Best regards,
Paul Seelig
-- System Information:
Debian Release: 13.2
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'proposed-updates'), (500, 'stable')
Architecture: arm64 (aarch64)
Kernel: Linux 6.17.8+deb13-arm64 (SMP w/6 CPU threads; PREEMPT)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages raspi-firmware depends on:
ii dosfstools 4.2-1.2
ii dpkg 1.22.21
raspi-firmware recommends no packages.
Versions of packages raspi-firmware suggests:
ii bluez-firmware 1.2-13
ii firmware-brcm80211 20251021-1~bpo13+1
ii firmware-misc-nonfree 20251021-1~bpo13+1
-- no debconf information
-------------- next part --------------
--- raspi-firmware-1.20240424+ds.orig/debian/kernel/postinst.d/z50-raspi-firmware 2025-01-05 08:48:37.000000000 +0100
+++ raspi-firmware-1.20240424+ds/debian/kernel/postinst.d/z50-raspi-firmware 2025-12-11 19:54:04.569732557 +0100
@@ -48,7 +48,7 @@
true # chroot detected - skip mount point check
elif [ -e /usr/bin/systemd-detect-virt ] && systemd-detect-virt -q ; then
true # virtualization detected - skip mount point check
-elif ! mountpoint -q /boot/firmware ; then
+elif pi_4_family && ! mountpoint -q /boot/firmware ; then
echo "raspi-firmware: missing /boot/firmware, did you forget to mount it?" >&2
exit 1
fi
-------------- next part --------------
--- raspi-firmware-1.20240424+ds.orig/debian/raspi-firmware.postinst 2025-01-05 08:48:37.000000000 +0100
+++ raspi-firmware-1.20240424+ds/debian/raspi-firmware.postinst 2025-12-11 19:56:50.118938275 +0100
@@ -3,6 +3,13 @@
set -e
+pi_4_family() {
+ # This matches all RPi4 boards ("Raspberry Pi 4 Model B Rev 1.4"),
+ # Pi400 full computer systems ("Raspberry Pi 400 Rev 1.0"), and
+ # CM4 compute modules ("Raspberry Pi Compute Module 4 Rev 1.0").
+ grep -q 'Raspberry Pi \(Compute Module \)*4' /sys/firmware/devicetree/base/model 2>/dev/null
+}
+
is_arm_system() {
# Check to see if the host is running an arm-based system
# (i.e. whether the raspi-firmware package is useful)
@@ -26,7 +33,7 @@
true # chroot detected - skip mount point check
elif test -e /usr/bin/systemd-detect-virt && systemd-detect-virt -q ; then
true # virtualization detected - skip mount point check
- elif ! mountpoint -q /boot/firmware; then
+ elif pi_4_family && ! mountpoint -q /boot/firmware; then
echo "Error: missing /boot/firmware, did you forget to mount it?" >&2
exit 1
fi
More information about the Pkg-raspi-maintainers
mailing list