Public bug reported:
## BUG 1 — DTB du Pi 5 imposé à tous les modèles de Raspberry Pi
**Package:** piboot-try 1.1ubuntu0.1
**Title:** `all.db: single entry for all Raspberry Pi models hardcodes DTB-Id:
bcm2712-rpi-5-b.dtb`
### System information
Ubuntu Server 26.04 (resolute), arm64
Board: Raspberry Pi 4 Model B Rev 1.1
compatible: raspberrypi,4-model-b brcm,bcm2711
Kernel: 7.0.0-1015-raspi
piboot-try: 1.1ubuntu0.1
flash-kernel: 3.110ubuntu2.1 (was installed, now removed)
linux-firmware-raspi: 14-0ubuntu1
initramfs-tools: 0.151ubuntu1
Boot layout: A/B tryboot (/boot/firmware/{current,new}, os_prefix,
tryboot_a_b=1)
System history: installed from a 2020 image, upgraded through every release
since (kernel traces from 5.11 onwards)
### Description
`/usr/share/flash-kernel/db/all.db` groups all 16 Raspberry Pi models into a
single entry
that ends with a hardcoded `DTB-Id` pointing at the Raspberry Pi 5 device tree:
```
Machine: Raspberry Pi
Machine: Raspberry Pi 2 Model B *
Machine: Raspberry Pi 3 Model A Plus *
Machine: Raspberry Pi 3 Model B *
Machine: Raspberry Pi 3 Model B Plus *
Machine: Raspberry Pi 4 Model B *
Machine: Raspberry Pi 400 *
Machine: Raspberry Pi 5 Model B *
Machine: Raspberry Pi 500 *
Machine: Raspberry Pi Compute Module 3 *
Machine: Raspberry Pi Compute Module 3 Plus *
Machine: Raspberry Pi Compute Module 4 *
Machine: Raspberry Pi Compute Module 5 Lite *
Machine: Raspberry Pi Compute Module 5 *
Machine: Raspberry Pi Zero 2 W *
Kernel-Flavors: raspi raspi-realtime
Method: pi-try
DTB-Id: bcm2712-rpi-5-b.dtb
```
`get_dtb_name()` in `/usr/share/flash-kernel/functions` (line ~250) resolves
`DTB-Id` through
`get_machine_field`, so **every** Raspberry Pi model — Pi 2, Pi 3, Pi 4, Zero 2
W, CM3/CM4 —
resolves to the Pi 5 device tree.
### Steps to reproduce
On a Raspberry Pi 4 Model B running Ubuntu 26.04:
```
$ sudo update-initramfs -u -k $(uname -r)
```
### Expected
```
Using DTB: bcm2711-rpi-4-b.dtb
Installing /lib/firmware/<version>/device-tree/broadcom/bcm2711-rpi-4-b.dtb
into /boot/dtbs/...
```
### Actual
```
Using DTB: bcm2712-rpi-5-b.dtb
Installing /lib/firmware/<version>/device-tree/broadcom/bcm2712-rpi-5-b.dtb
into /boot/dtbs/...
```
The board itself is correctly identified by the kernel:
```
$ tr -d '\0' < /proc/device-tree/model
Raspberry Pi 4 Model B Rev 1.1
$ tr -d '\0' < /proc/device-tree/compatible
raspberrypi,4-model-b brcm,bcm2711
```
### Impact
Booting is not affected in practice, because the Raspberry Pi firmware selects
the device tree
itself from the detected board and `piboot-try` copies *all* DTBs into the boot
partition.
The wrong DTB is however installed into `/boot/dtbs/<version>/`, which is
misleading and would
break any tooling relying on that path.
### Workaround
Override the field in `/etc/flash-kernel/db`, which takes precedence:
```
Machine: Raspberry Pi 4 Model B *
DTB-Id: bcm2711-rpi-4-b.dtb
```
### Suggested fix
Split the entry so each model (or at least each SoC family: bcm2711 / bcm2712 /
bcm2710) carries
its own `DTB-Id`, or resolve the DTB from `/proc/device-tree/compatible`
instead of a static field.
** Affects: flash-kernel (Ubuntu)
Importance: Undecided
Status: New
** Attachment added: "apport.piboot-try.44rhinpp.apport"
https://bugs.launchpad.net/bugs/2162654/+attachment/5988628/+files/apport.piboot-try.44rhinpp.apport
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2162654
Title:
all.db: single entry for all Raspberry Pi models hardcodes DTB-Id:
bcm2712-rpi-5-b.dtb
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/flash-kernel/+bug/2162654/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs