[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