-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Description
I've created a yocto image with this partitions (with alt-root and all-boot partitions):
part / --source rootfs --exclude-path boot/ --ondisk mmcblk0 --fstype=ext4 --label rootfs1 --align 4096 --fixed-size 400M
part / --source rootfs --exclude-path boot/ --ondisk mmcblk0 --fstype=ext4 --label rootfs2 --align 4096 --fixed-size 400M
part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label boot1 --active --align 4096 --fixed-size 100M
part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label boot2 --active --align 4096 --fixed-size 100M
bootloader --ptable gpt
Recently i updated the firmware (start4.elf / fixup4.dat) to version 1.20250430. when 'boot_partition=0', rpi boots from first partition and every thing works as expected:
root@raspberrypi4:/boot# cat autoboot.txt
boot_partition=0
boot log:
Read start4.elf bytes 2263968 hnd 0x00000000
Read fixup4.dat bytes 5456 hnd 0x00000000
Firmware: 5560078dcc8591a00f57b9068d13e5544aeef3aa Apr 30 2025 13:33:39
0x00b03140 0x00000000 0x00001fff
MEM GPU: 76 ARM: 948 TOTAL: 1024
Starting start4.elf @ 0xfec00200 partition 0
+
MESS:00:00:02.681911:0: arasan: arasan_emmc_open
MESS:00:00:02.683573:0: arasan: arasan_emmc_set_clock C0: 0x00800000 C1: 0x000e0047 emmc: 200000000 actual: 390625 div: 0x00000100 target: 400000 min: 400000 max: 400000 delay: 5
MESS:00:00:02.803812:0: arasan: arasan_emmc_set_clock C0: 0x00800000 C1: 0x000e0047 emmc: 200000000 actual: 390625 div: 0x00000100 target: 400000 min: 400000 max: 400000 delay: 5
MESS:00:00:02.816683:0: arasan: arasan_emmc_set_clock C0: 0x00800f00 C1: 0x000e0047 emmc: 200000000 actual: 390625 div: 0x00000100 target: 400000 min: 390000 max: 400000 delay: 5
MESS:00:00:02.867495:0: boot-part: 0 fs-type: 5
MESS:00:00:02.989326:0: boot-part: 0 fs-type: 2
MESS:00:00:02.990866:0: arasan: arasan_emmc_set_clock C0: 0x00800f02 C1: 0x000e0407 emmc: 200000000 actual: 25000000 div: 0x00000004 target: 25000000 min: 0 max: 25000000 delay: 1
MESS:00:00:03.121837:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:03.124570:0: brfs: File read: 84 bytes
MESS:00:00:03.150133:0: HDMI0:EDID error reading EDID block 0 attempt 0
MESS:00:00:03.154642:0: HDMI0:EDID giving up on reading EDID block 0
MESS:00:00:03.171753:0: HDMI1:EDID error reading EDID block 0 attempt 0
MESS:00:00:03.176255:0: HDMI1:EDID giving up on reading EDID block 0
MESS:00:00:03.181909:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:03.186859:0: gpioman: gpioman_get_pin_num: pin DISPLAY_SDA not defined
MESS:00:00:03.193836:0: gpioman: gpioman_get_pin_num: pin LEDS_PWR_OK not defined
MESS:00:00:03.663654:0: gpioman: gpioman_get_pin_num: pin LEDS_PWR_OK not defined
MESS:00:00:03.669296:0: *** Restart logging
MESS:00:00:03.671939:0: brfs: File read: 84 bytes
MESS:00:00:03.681556:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 0
MESS:00:00:03.686587:0: hdmi: HDMI0:EDID giving up on reading EDID block 0
MESS:00:00:03.697210:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 0
MESS:00:00:03.702235:0: hdmi: HDMI0:EDID giving up on reading EDID block 0
MESS:00:00:03.707834:0: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead
MESS:00:00:03.721624:0: hdmi: HDMI1:EDID error reading EDID block 0 attempt 0
MESS:00:00:03.726647:0: hdmi: HDMI1:EDID giving up on reading EDID block 0
MESS:00:00:03.737268:0: hdmi: HDMI1:EDID error reading EDID block 0 attempt 0
MESS:00:00:03.742298:0: hdmi: HDMI1:EDID giving up on reading EDID block 0
MESS:00:00:03.747895:0: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead
MESS:00:00:03.756660:0: HDMI0: hdmi_pixel_encoding: 300000000
MESS:00:00:03.762129:0: HDMI1: hdmi_pixel_encoding: 300000000
MESS:00:00:03.787680:0: brfs: File read: /mfs/sd/bcm2711-rpi-cm4.dtb
MESS:00:00:03.790930:0: Loaded 'bcm2711-rpi-cm4.dtb' to 0x100 size 0xbed9
MESS:00:00:03.809873:0: brfs: File read: 48857 bytes
MESS:00:00:03.883736:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:03.900667:0: brfs: File read: 84 bytes
MESS:00:00:03.902384:0: Failed to open command line file 'cmdline.txt'
MESS:00:00:04.303755:0: brfs: File read: /mfs/sd/kernel7l.img
MESS:00:00:04.306397:0: Loaded 'kernel7l.img' to 0x8000 size 0x86538
MESS:00:00:04.312487:0: Device tree loaded to 0x2eff3a00 (size 0xc549)
MESS:00:00:04.321209:0: uart: Set PL011 baud rate to 103448.300000 Hz
MESS:00:00:04.327792:0: uart: Baud rate change done...
MESS:00:00:04.329814:0:
U-Boot 2021.07 (Jul 05 2021 - 15:11:28 +0000)
...
But when 'boot_partition=1', it still just uses first partition for loading 'config.txt' and not the second partition:
root@raspberrypi4:/boot# cat autoboot.txt
boot_partition=1
boot logs:
Read start4.elf bytes 2263968 hnd 0x00000000
Read fixup4.dat bytes 5456 hnd 0x00000000
Firmware: 5560078dcc8591a00f57b9068d13e5544aeef3aa Apr 30 2025 13:33:39
0x00b03140 0x00000000 0x00001fff
MEM GPU: 76 ARM: 948 TOTAL: 1024
Starting start4.elf @ 0xfec00200 partition 1
+
MESS:00:00:02.681030:0: arasan: arasan_emmc_open
MESS:00:00:02.682693:0: arasan: arasan_emmc_set_clock C0: 0x00800000 C1: 0x000e0047 emmc: 200000000 actual: 390625 div: 0x00000100 target: 400000 min: 400000 max: 400000 delay: 5
MESS:00:00:02.802935:0: arasan: arasan_emmc_set_clock C0: 0x00800000 C1: 0x000e0047 emmc: 200000000 actual: 390625 div: 0x00000100 target: 400000 min: 400000 max: 400000 delay: 5
MESS:00:00:02.815807:0: arasan: arasan_emmc_set_clock C0: 0x00800f00 C1: 0x000e0047 emmc: 200000000 actual: 390625 div: 0x00000100 target: 400000 min: 390000 max: 400000 delay: 5
MESS:00:00:02.866615:0: boot-part: 1 fs-type: 5
MESS:00:00:02.988459:0: boot-part: 0 fs-type: 2
MESS:00:00:02.990000:0: arasan: arasan_emmc_set_clock C0: 0x00800f02 C1: 0x000e0407 emmc: 200000000 actual: 25000000 div: 0x00000004 target: 25000000 min: 0 max: 25000000 delay: 1
MESS:00:00:03.121255:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:03.123981:0: brfs: File read: 84 bytes
MESS:00:00:03.149546:0: HDMI0:EDID error reading EDID block 0 attempt 0
MESS:00:00:03.154055:0: HDMI0:EDID giving up on reading EDID block 0
MESS:00:00:03.171165:0: HDMI1:EDID error reading EDID block 0 attempt 0
MESS:00:00:03.175668:0: HDMI1:EDID giving up on reading EDID block 0
MESS:00:00:03.181322:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:03.186271:0: gpioman: gpioman_get_pin_num: pin DISPLAY_SDA not defined
MESS:00:00:03.193249:0: gpioman: gpioman_get_pin_num: pin LEDS_PWR_OK not defined
MESS:00:00:03.663077:0: gpioman: gpioman_get_pin_num: pin LEDS_PWR_OK not defined
MESS:00:00:03.668719:0: *** Restart logging
MESS:00:00:03.671362:0: brfs: File read: 84 bytes
MESS:00:00:03.680979:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 0
MESS:00:00:03.686010:0: hdmi: HDMI0:EDID giving up on reading EDID block 0
MESS:00:00:03.696633:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 0
MESS:00:00:03.701658:0: hdmi: HDMI0:EDID giving up on reading EDID block 0
MESS:00:00:03.707256:0: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead
MESS:00:00:03.721047:0: hdmi: HDMI1:EDID error reading EDID block 0 attempt 0
MESS:00:00:03.726069:0: hdmi: HDMI1:EDID giving up on reading EDID block 0
MESS:00:00:03.736691:0: hdmi: HDMI1:EDID error reading EDID block 0 attempt 0
MESS:00:00:03.741720:0: hdmi: HDMI1:EDID giving up on reading EDID block 0
MESS:00:00:03.747318:0: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead
MESS:00:00:03.756083:0: HDMI0: hdmi_pixel_encoding: 300000000
MESS:00:00:03.761551:0: HDMI1: hdmi_pixel_encoding: 300000000
MESS:00:00:03.787122:0: brfs: File read: /mfs/sd/bcm2711-rpi-cm4.dtb
MESS:00:00:03.790371:0: Loaded 'bcm2711-rpi-cm4.dtb' to 0x100 size 0xbed9
MESS:00:00:03.809314:0: brfs: File read: 48857 bytes
MESS:00:00:03.883179:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:03.900115:0: brfs: File read: 84 bytes
MESS:00:00:03.901833:0: Failed to open command line file 'cmdline.txt'
MESS:00:00:04.302568:0: brfs: File read: /mfs/sd/kernel7l.img
MESS:00:00:04.305211:0: Loaded 'kernel7l.img' to 0x8000 size 0x86538
MESS:00:00:04.311300:0: Device tree loaded to 0x2eff3a00 (size 0xc549)
MESS:00:00:04.320024:0: uart: Set PL011 baud rate to 103448.300000 Hz
MESS:00:00:04.326606:0: uart: Baud rate change done...
MESS:00:00:04.328629:0:
U-Boot 2021.07 (Jul 05 2021 - 15:11:28 +0000)
...
Expected behaviour
Everything works okay in version 2021 and when i set 'boot_partition=1' there, then 'config.txt' will be load from second partition and so 'bcm2711-rpi-cm4-alt.dtb' device tree will be loaded:
Read start4.elf bytes 2228800 hnd 0x00000000
Read fixup4.dat bytes 5448 hnd 0x00000000
Firmware: 564e5f9b852b23a330b1764bcf0b2d022a20afd0 Feb 25 2021 12:10:40
0x00b03140 0x00000000 0x000000ff
MEM GPU: 76 ARM: 948 TOTAL: 1024
Starting start4.elf @ 0xfec00200 partition 1
+
MESS:00:00:02.976908:0: arasan: arasan_emmc_open
MESS:00:00:03.627765:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:03.630491:0: brfs: File read: 88 bytes
MESS:00:00:03.697191:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:03.699868:0: gpioman: gpioman_get_pin_num: pin DISPLAY_SDA not defined
MESS:00:00:03.706858:0: gpioman: gpioman_get_pin_num: pin LEDS_PWR_OK not defined
MESS:00:00:03.729627:0: brfs: File read: 88 bytes
MESS:00:00:03.736248:0: gpioman: gpioman_get_pin_num: pin FLASH_0_ENABLE not defined
MESS:00:00:03.740881:0: gpioman: gpioman_get_pin_num: pin FLASH_0_INDICATOR not defined
MESS:00:00:03.748621:0: gpioman: gpioman_get_pin_num: pin FLASH_0_ENABLE not defined
MESS:00:00:03.756071:0: gpioman: gpioman_get_pin_num: pin FLASH_0_INDICATOR not defined
MESS:00:00:04.218930:0: gpioman: gpioman_get_pin_num: pin LEDS_PWR_OK not defined
MESS:00:00:04.224568:0: *** Restart logging
MESS:00:00:04.230762:0: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead
MESS:00:00:04.240110:0: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead
MESS:00:00:04.246051:0: HDMI0: hdmi_pixel_encoding: 300000000
MESS:00:00:04.251522:0: HDMI1: hdmi_pixel_encoding: 300000000
MESS:00:00:04.257453:0: gpioman: gpioman_get_pin_num: pin CAMERA_0_I2C_PORT not defined
MESS:00:00:04.273737:0: brfs: File read: /mfs/sd/bcm2711-rpi-cm4-alt.dtb
MESS:00:00:04.277333:0: Loading 'bcm2711-rpi-cm4-alt.dtb' to 0x100 size 0xbed9
MESS:00:00:04.296902:0: brfs: File read: 48857 bytes
MESS:00:00:04.362471:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:04.372728:0: brfs: File read: 88 bytes
MESS:00:00:04.374410:0: Failed to open command line file 'cmdline.txt'
MESS:00:00:05.448644:0: brfs: File read: /mfs/sd/kernel7l.img
MESS:00:00:05.451290:0: Loading 'kernel7l.img' to 0x8000 size 0x86538
MESS:00:00:05.457460:0: Device tree loaded to 0x2eff3c00 (size 0xc3b3)
MESS:00:00:05.465471:0: uart: Set PL011 baud rate to 103448.300000 Hz
MESS:00:00:05.472769:0: uart: Baud rate change done...
MESS:00:00:05.474791:0:
U-Boot 2021.07 (Jul 05 2021 - 15:11:28 +0000)
...
System
Machine model: Raspberry Pi Compute Module 4 Rev 1.0
$ uname -a
Linux raspberrypi4 5.10.17-v7l #1 SMP Mon Mar 1 09:44:55 UTC 2021 armv7l GNU/Linux
$ cat /etc/os-release
ID=poky
NAME="Poky (Yocto Project Reference Distro)"
VERSION="3.2.4 (gatesgarth)"
VERSION_ID=3.2.4
PRETTY_NAME="Poky (Yocto Project Reference Distro) 3.2.4 (gatesgarth)"