Package: raspi-firmware
Followup-For: Bug #948712
X-Debbugs-Cc: [email protected]
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
---
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
--- 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