Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Firmware fails to boot a GPT SD-card using autoboot.txt on first partrition on Pi 4-B #654

Open
gportay opened this issue Jan 14, 2025 · 20 comments

Comments

@gportay
Copy link

gportay commented Jan 14, 2025

Describe the bug

I faces a boot failure on a Raspberry Pi 4 (64-bit), with the following "settings":

  • SD-card, partitioned with a GPT partition-table (the sfdisk --dump is attached below),
  • Using autoboot.txt on partition 1 (not using the "tryboot reboot flag", its content is attached below),
  • The bootloader version is the latest as of today 3858f977ab6d689a226ad24d26749266762b7160

The bootloader reads the file autoboot.txt in the first partition of type EBD0A0A2-B9E5-4433-87C0-68B6B72699C7,

The bootloader reads the files (config.txt, start4.elf, and fixup4.dat) in the second partition (boot_partition=2), it starts the "firmware?" file fixup4.dat and hangs with the ACT LED blinking 7 times in loop.

IIUC, the ACT LED tells me the firmware does not find the kernel.

I am probably mixing firmware and bootloader terms. Could you clarify to me what file is the firmware and what file is the bootlader please?

Important: I am using Buildroot.

Note: The system boots correctly if using MBR SD-Card. The system boots correctly if using GPT SD-Card without autoboot.txt (i.e. booting config.txt on partition 1; in short, sudo dd if=/dev/sdb2 of=/dev/sdb1).

I appears the firmware cannot reads things from the SD-card if using autoboot.txt; see the error below.

MESS:00:00:04.389523:0: arasan: arasan_emmc_open
MESS:00:00:04.391180: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:04.511412: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:04.524282: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:04.558531:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0207 emmc: 200000000 actual: 50000000 div: 0x00000002 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:04.675970: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:04.688851: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:04.722748:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0207 emmc: 200000000 actual: 50000000 div: 0x00000002 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:04.736193:0: gpioman: gpioman_get_pin_num: attempting to get pin number for SDCARD_CONTROL_POWER before we're ready
MESS:00:00:04.846761:0: gpioman: gpioman_get_pin_num: attempting to get pin number for SDCARD_CONTROL_POWER before we're ready
MESS:00:00:04.859192: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:04.872056: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:04.902556:0: gpioman: gpioman_get_pin_num: attempting to get pin number for SDCARD_CONTROL_WRITE_PROTECTED before we're ready
MESS:00:00:04.915102:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0207 emmc: 200000000 actual: 50000000 div: 0x00000002 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:04.928296:0: gpioman: gpioman_get_pin_num: attempting to get pin number for SDCARD_CONTROL_POWER before we're ready

Steps to reproduce the behaviour

Clone the firmware repository and enters the sources:

git clone https://github.com/raspberrypi/firmware.git
cd firmware
git checkout 9e65e647c2d8cb1453875c509bf6a730288b7491

Make the partition-table to the SD-card...

cat - <<EOF | sudo sfdisk /dev/sdb
label: gpt
label-id: A64317D1-55CE-4B3D-A5EF-DD3C2CE247AA
device: /dev/sdb
unit: sectors
first-lba: 34
last-lba: 1245222
sector-size: 512

start=          34, size=       65536, type=EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, uuid=BC675DA2-9FF2-4164-B9AD-780AA37B64DC, name="autoboot"
start=       65570, size=       65536, type=EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, uuid=DB963A05-9914-44DB-97DA-DDAF089AFCA4, name="boot-a"
start=      131106, size=       65536, type=EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, uuid=487F95B5-E299-40D4-A662-9A61E7D396ED, name="boot-b"
start=      196642, size=      524288, type=B921B045-1DF0-41C3-AF44-4C6F280D3FAE, uuid=2D9C70FC-863F-48C0-8AB9-6E6E72F20F7C, name="rootfs-a", attrs="GUID:63"
start=      720930, size=      524288, type=B921B045-1DF0-41C3-AF44-4C6F280D3FAE, uuid=859D3786-44EC-48F9-BB1F-E74AE90629BA, name="rootfs-b", attrs="GUID:63"
EOF

... and make the filesystems:

sudo mkfs.vfat /dev/sdb1
sudo mkfs.vfat /dev/sdb2

Create the file autoboot.txt on partition 1:

sudo mount /dev/sdb1 /mnt
cat <<EOF | sudo sh -c "cat - >/mnt/autoboot.txt"
[all]
tryboot_a_b=1
boot_partition=2
[tryboot]
boot_partition=3
EOF
sudo umount /mnt

Create the file config.txt and copy the files on partition 2:

sudo mount /dev/sdb2 /mnt
cat <<EOF | sudo /bin/sh -c "cat - >/mnt/config.txt"
start_file=start4.elf
fixup_file=fixup4.dat
arm_64bit=1
enable_uart=1
uart_2ndstage=1
EOF
sudo cp boot/start4.elf boot/fixup4.dat boot/kernel8.img boot/bcm2711-rpi-4-b.dtb /mnt
sudo umount /mnt

Device (s)

Raspberry Pi 4 Mod. B

Bootloader configuration.

I am not using the Raspberry Pi OS. I can provide the inputs if requested.

System

I am not using the Raspberry Pi OS. I can provide the inputs if requested.

Bootloader is 2024-12-07, i.e. file

Firmware is 03554ca336a03ace164f36755144e0d8c060062d:

  4.22 Firmware: 03554ca336a03ace164f36755144e0d8c060062d Dec  5 2024 11:45:37

Linux is technically 890917550f578c485ac76aaf6b1b136a64b89bfe, i.e. that commit. It should be:

Linux version 6.6.70-v8+ (dom@buildbot) (aarch64-linux-gnu-gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #1837 SMP PREEMPT Fri Jan 10 12:02:51 GMT 2025

Bootloader logs

  0.48 RPi: BOOTSYS release VERSION:3858f977 DATE: 2024/12/07 TIME: 12:39:28
  0.52 BOOTMODE: 0x06 partition 0 build-ts BUILD_TIMESTAMP=1733575168 serial 2ac43544 boardrev d03115 stc 652761
  0.68 PM_RSTS: 0x00001000
  0.68 part 00000000 reset_info 00000000
  0.71 uSD voltage 3.3V
  0.97 Initialising SDRAM rank 2 total-size: 64 Gbit 3200 (0x14 0x00)
  0.00 DDR 3200 1 0 64 152 BL:3
  2.00 OTP boardrev d03115 bootrom 8b0 8b0
  2.02 Customer key hash 0000000000000000000000000000000000000000000000000000000000000000
  2.09 VC-JTAG unlocked


  2.87 RPi: BOOTLOADER release VERSION:3858f977 DATE: 2024/12/07 TIME: 12:39:28
  2.91 BOOTMODE: 0x06 partition 0 build-ts BUILD_TIMESTAMP=1733575168 serial 2ac43544 boardrev d03115 stc 2591640
  2.27 PCI0 init
  2.27 PCI0 reset
  2.01 PCIe scan 00001106:00003483
  2.06 XHCI-STOP
  2.07 xHC0 ver: 256 HCS: 05000420 fc000031 00e70004 HCC: 002841eb
  2.11 USBSTS 11
  2.14 xHC0 ver: 256 HCS: 05000420 fc000031 00e70004 HCC: 002841eb
  2.18 xHC0 ports 5 slots 32 intrs 4
  2.28 Boot mode: SD (01) order f4
  2.28 USB2[1] 400202e1 connected
  2.46 USB2 root HUB port 1 init
  2.48 DEV [01:00] 2.16 000000:01 class 9 VID 2109 PID 3431
  2.52 HUB init [01:00] 2.16 000000:01
  3.61 SD HOST: 200000000 CTL0: 0x00800000 BUS: 400000 Hz actual: 390625 HZ div: 512 (256) status: 0x1fff0000 delay: 276
  3.72 SD HOST: 200000000 CTL0: 0x00800f00 BUS: 400000 Hz actual: 390625 HZ div: 512 (256) status: 0x1fff0000 delay: 276
  3.64 OCR c0ff8000 [108]
CID: 00744a45555344202010e51017b600dc
CSD: 400e00325b5900003bad7f800a400000
  3.72 SD: bus-width: 4 spec: 2 SCR: 0x02358000 0x00000000
  3.80 SD HOST: 200000000 CTL0: 0x00800f04 BUS: 50000000 Hz actual: 50000000 HZ div: 4 (2) status: 0x1fff0000 delay: 2
  3.90 MBR: 0x00000001,15644671 type: 0xee
  3.92 MBR: 0x00000000,       0 type: 0x00
  3.95 MBR: 0x00000000,       0 type: 0x00
  3.99 MBR: 0x00000000,       0 type: 0x00
  4.03 Trying partition: 0
  4.06 GPT d11743a6ce553d4ba5efdd3c2ce247aa 000000001 000eeb7ff num-partitions 128 entry-size 128 pentry 2 first 0
  4.16 GPT partition: 0 ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 000000022..000010021
  4.23 Matched GUID bootable-part-idx 0 want partition 0
  4.28 type: 16 lba: 34 'mkfs.fat' '  V       ^ ' clusters 16342 (4)
  4.34 rsc 4 fat-sectors 64 root dir cluster 1 sectors 32 entries 512
  4.40 FAT16 clusters 16342
  4.45 Read autoboot.txt bytes       64 hnd 0x3
  4.47 Select partition rsts 0 C(boot_partition) 2 EEPROM config 0 result 2
  4.53 Trying partition: 2
  4.56 GPT d11743a6ce553d4ba5efdd3c2ce247aa 000000001 000eeb7ff num-partitions 128 entry-size 128 pentry 2 first 0
  4.66 GPT partition: 0 ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 000000022..000010021
  4.73 Matched GUID bootable-part-idx 0 want partition 1
  4.78 GPT partition: 1 ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 000010022..000020021
  4.85 Matched GUID bootable-part-idx 1 want partition 1
  4.91 type: 16 lba: 65570 'mkfs.fat' '  V       ^ ' clusters 16342 (4)
  4.97 rsc 4 fat-sectors 64 root dir cluster 1 sectors 32 entries 512
  4.03 FAT16 clusters 16342
  4.07 Read config.txt bytes       86 hnd 0x3
  4.10 [sdcard] pieeprom.upd not found
  4.13 [sdcard] recover4.elf not found
  4.17 [sdcard] recovery.elf not found
  4.44 Read start4.elf bytes  2262304 hnd 0x4
  4.46 Read fixup4.dat bytes     5459 hnd 0x455
  4.49 0x00d03115 0x00000000 0x00001fff
  4.53 MEM GPU: 76 ARM: 948 TOTAL: 1024
  4.22 Firmware: 03554ca336a03ace164f36755144e0d8c060062d Dec  5 2024 11:45:37
  4.55 Starting start4.elf @ 0xfec00200 partition 2
  4.57 XHCI-STOP
  4.59 xHC0 ver: 256 HCS: 05000420 fc000031 00e70004 HCC: 002841eb
  4.65 USBSTS 18
  4.68 PCI0 reset
  4.78 +

MESS:00:00:04.389523:0: arasan: arasan_emmc_open
MESS:00:00:04.391180: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:04.511412: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:04.524282: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:04.558531:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0207 emmc: 200000000 actual: 50000000 div: 0x00000002 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:04.675970: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:04.688851: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:04.722748:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0207 emmc: 200000000 actual: 50000000 div: 0x00000002 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:04.736193:0: gpioman: gpioman_get_pin_num: attempting to get pin number for SDCARD_CONTROL_POWER before we're ready
MESS:00:00:04.846761:0: gpioman: gpioman_get_pin_num: attempting to get pin number for SDCARD_CONTROL_POWER before we're ready
MESS:00:00:04.859192: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:04.872056: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:04.902556:0: gpioman: gpioman_get_pin_num: attempting to get pin number for SDCARD_CONTROL_WRITE_PROTECTED before we're ready
MESS:00:00:04.915102:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0207 emmc: 200000000 actual: 50000000 div: 0x00000002 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:04.928296:0: gpioman: gpioman_get_pin_num: attempting to get pin number for SDCARD_CONTROL_POWER before we're ready
MESS:00:00:04.960553:0: HDMI0:EDID error reading EDID block 0 attempt 0
MESS:00:00:04.965063:0: HDMI0:EDID giving up on reading EDID block 0
MESS:00:00:04.982122:0: HDMI1:EDID error reading EDID block 0 attempt 0
MESS:00:00:04.986623:0: HDMI1:EDID giving up on reading EDID block 0
MESS:00:00:04.991859:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:05.099688:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:05.108998: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:05.121880: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:05.152375:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_WRITE_PROTECTED not defined
MESS:00:00:05.161804:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0207 emmc: 200000000 actual: 50000000 div: 0x00000002 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:05.175018:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:05.182767:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:05.290676:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:05.299980: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:05.312844: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:05.343338:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_WRITE_PROTECTED not defined
MESS:00:00:05.352755:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0207 emmc: 200000000 actual: 50000000 div: 0x00000002 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:05.365948:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:05.831786:0: gpioman: gpioman_get_pin_num: pin DISPLAY_DSI_PORT not defined
MESS:00:00:05.837341:0: gpioman: gpioman_get_pin_num: pin DISPLAY_DSI_PORT not defined
MESS:00:00:05.846375:0: *** Restart logging
MESS:00:00:05.848240:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:05.956139:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:05.965461:0: arasan: arasan_emmc_set_clock C0: 0x00800000 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 400000 max: 400000 delay: 5
MESS:00:00:05.978334:0: arasan: arasan_emmc_set_clock C0: 0x00800f00 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 390000 max: 400000 delay: 5
MESS:00:00:06.008823:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_WRITE_PROTECTED not defined
MESS:00:00:06.018250:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0107 emmc: 100000000 actual: 50000000 div: 0x00000001 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:06.031454:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:06.044166:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 0
MESS:00:00:06.049197:0: hdmi: HDMI0:EDID giving up on reading EDID block 0
MESS:00:00:06.059819:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 0
MESS:00:00:06.064842:0: hdmi: HDMI0:EDID giving up on reading EDID block 0
MESS:00:00:06.070439:0: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead
MESS:00:00:06.084233:0: hdmi: HDMI1:EDID error reading EDID block 0 attempt 0
MESS:00:00:06.089259:0: hdmi: HDMI1:EDID giving up on reading EDID block 0
MESS:00:00:06.099880:0: hdmi: HDMI1:EDID error reading EDID block 0 attempt 0
MESS:00:00:06.104910:0: hdmi: HDMI1:EDID giving up on reading EDID block 0
MESS:00:00:06.110508:0: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead
MESS:00:00:06.119272:0: HDMI0: hdmi_pixel_encoding: 300000000
MESS:00:00:06.124749:0: HDMI1: hdmi_pixel_encoding: 300000000
MESS:00:00:06.130613:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:06.238200:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:06.247527:0: arasan: arasan_emmc_set_clock C0: 0x00800000 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 400000 max: 400000 delay: 5
MESS:00:00:06.260417:0: arasan: arasan_emmc_set_clock C0: 0x00800f00 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 390000 max: 400000 delay: 5
MESS:00:00:06.290905:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_WRITE_PROTECTED not defined
MESS:00:00:06.300345:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0107 emmc: 100000000 actual: 50000000 div: 0x00000001 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:06.313563:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:06.321309:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:06.429217:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:06.438534:0: arasan: arasan_emmc_set_clock C0: 0x00800000 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 400000 max: 400000 delay: 5
MESS:00:00:06.451413:0: arasan: arasan_emmc_set_clock C0: 0x00800f00 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 390000 max: 400000 delay: 5
MESS:00:00:06.481897:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_WRITE_PROTECTED not defined
MESS:00:00:06.491331:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0107 emmc: 100000000 actual: 50000000 div: 0x00000001 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:06.504539:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:06.512283:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:06.620192:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:06.629518:0: arasan: arasan_emmc_set_clock C0: 0x00800000 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 400000 max: 400000 delay: 5
MESS:00:00:06.642408:0: arasan: arasan_emmc_set_clock C0: 0x00800f00 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 390000 max: 400000 delay: 5
MESS:00:00:06.672895:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_WRITE_PROTECTED not defined
MESS:00:00:06.682335:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0107 emmc: 100000000 actual: 50000000 div: 0x00000001 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:06.695553:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:06.703298:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:06.811206:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:06.820528:0: arasan: arasan_emmc_set_clock C0: 0x00800000 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 400000 max: 400000 delay: 5
MESS:00:00:06.833401:0: arasan: arasan_emmc_set_clock C0: 0x00800f00 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 390000 max: 400000 delay: 5
MESS:00:00:06.863883:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_WRITE_PROTECTED not defined
MESS:00:00:06.873314:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0107 emmc: 100000000 actual: 50000000 div: 0x00000001 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:06.886514:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:06.894260:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:07.002169:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:07.011496:0: arasan: arasan_emmc_set_clock C0: 0x00800000 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 400000 max: 400000 delay: 5
MESS:00:00:07.024386:0: arasan: arasan_emmc_set_clock C0: 0x00800f00 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 390000 max: 400000 delay: 5
MESS:00:00:07.054869:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_WRITE_PROTECTED not defined
MESS:00:00:07.064308:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0107 emmc: 100000000 actual: 50000000 div: 0x00000001 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:07.077526:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:07.085271:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:07.193181:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:07.202499:0: arasan: arasan_emmc_set_clock C0: 0x00800000 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 400000 max: 400000 delay: 5
MESS:00:00:07.215378:0: arasan: arasan_emmc_set_clock C0: 0x00800f00 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 390000 max: 400000 delay: 5
MESS:00:00:07.245864:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_WRITE_PROTECTED not defined
MESS:00:00:07.255297:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0107 emmc: 100000000 actual: 50000000 div: 0x00000001 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:07.268505:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:07.276249:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:07.384159:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:07.393486:0: arasan: arasan_emmc_set_clock C0: 0x00800000 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 400000 max: 400000 delay: 5
MESS:00:00:07.406376:0: arasan: arasan_emmc_set_clock C0: 0x00800f00 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 390000 max: 400000 delay: 5
MESS:00:00:07.436859:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_WRITE_PROTECTED not defined
MESS:00:00:07.446298:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0107 emmc: 100000000 actual: 50000000 div: 0x00000001 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:07.459519:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:07.467261:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:07.575171:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:07.584492:0: arasan: arasan_emmc_set_clock C0: 0x00800000 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 400000 max: 400000 delay: 5
MESS:00:00:07.597365:0: arasan: arasan_emmc_set_clock C0: 0x00800f00 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 390000 max: 400000 delay: 5
MESS:00:00:07.627849:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_WRITE_PROTECTED not defined
MESS:00:00:07.637277:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0107 emmc: 100000000 actual: 50000000 div: 0x00000001 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:07.650478:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:07.658222:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:07.766131:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:07.775459:0: arasan: arasan_emmc_set_clock C0: 0x00800000 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 400000 max: 400000 delay: 5
MESS:00:00:07.788349:0: arasan: arasan_emmc_set_clock C0: 0x00800f00 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 390000 max: 400000 delay: 5
MESS:00:00:07.818836:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_WRITE_PROTECTED not defined
MESS:00:00:07.828275:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0107 emmc: 100000000 actual: 50000000 div: 0x00000001 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:07.841496:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:07.849237:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:07.957148:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:07.966464:0: arasan: arasan_emmc_set_clock C0: 0x00800000 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 400000 max: 400000 delay: 5
MESS:00:00:07.979342:0: arasan: arasan_emmc_set_clock C0: 0x00800f00 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 390000 max: 400000 delay: 5
MESS:00:00:08.009825:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_WRITE_PROTECTED not defined
MESS:00:00:08.019258:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0107 emmc: 100000000 actual: 50000000 div: 0x00000001 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:08.032464:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:08.049572:0: dtb_file 'bcm2711-rpi-4-b.dtb'
MESS:00:00:08.051680:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:08.159589:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:08.168915:0: arasan: arasan_emmc_set_clock C0: 0x00800000 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 400000 max: 400000 delay: 5
MESS:00:00:08.181807:0: arasan: arasan_emmc_set_clock C0: 0x00800f00 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 390000 max: 400000 delay: 5
MESS:00:00:08.212294:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_WRITE_PROTECTED not defined
MESS:00:00:08.221731:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0107 emmc: 100000000 actual: 50000000 div: 0x00000001 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:08.234950:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:08.242617:0: dtb_file 'bcm2711-rpi-4-b.dtb'
MESS:00:00:08.247555:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:08.355465:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:08.364791:0: arasan: arasan_emmc_set_clock C0: 0x00800000 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 400000 max: 400000 delay: 5
MESS:00:00:08.377664:0: arasan: arasan_emmc_set_clock C0: 0x00800f00 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 390000 max: 400000 delay: 5
MESS:00:00:08.408146:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_WRITE_PROTECTED not defined
MESS:00:00:08.417571:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0107 emmc: 100000000 actual: 50000000 div: 0x00000001 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:08.430772:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:08.438440:0: dterror: Failed to load Device Tree file '?'
MESS:00:00:08.444599:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:08.552502:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:08.561829:0: arasan: arasan_emmc_set_clock C0: 0x00800000 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 400000 max: 400000 delay: 5
MESS:00:00:08.574718:0: arasan: arasan_emmc_set_clock C0: 0x00800f00 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 390000 max: 400000 delay: 5
MESS:00:00:08.605206:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_WRITE_PROTECTED not defined
MESS:00:00:08.614645:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0107 emmc: 100000000 actual: 50000000 div: 0x00000001 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:08.627864:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:08.635528:0: Failed to open command line file 'cmdline.txt'
MESS:00:00:08.642074:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:08.749769:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:08.759090:0: arasan: arasan_emmc_set_clock C0: 0x00800000 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 400000 max: 400000 delay: 5
MESS:00:00:08.771962:0: arasan: arasan_emmc_set_clock C0: 0x00800f00 C1: 0x000e8007 emmc: 100000000 actual: 390625 div: 0x00000080 target: 400000 min: 390000 max: 400000 delay: 5
MESS:00:00:08.802445:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_WRITE_PROTECTED not defined
MESS:00:00:08.811871:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0107 emmc: 100000000 actual: 50000000 div: 0x00000001 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:08.825072:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
MESS:00:00:08.832743:0: No compatible kernel found

USB boot

N/A.

NVMe boot

N/A.

Network (TFTP boot)

N/A.

@gportay
Copy link
Author

gportay commented Jan 14, 2025

Also, could you point me to the documentation which GPT UUID-Type should I use for the VFAT partition, the one for autoboot.txt, and the ones for config.txt (if differents)? Thanks.

@timg236
Copy link
Collaborator

timg236 commented Jan 14, 2025

For autoboot.txt we recommend using MBR partitions. If you are using GPT these FAT partitions with EFI GUID should be the first partitions in the GPT table i.e. FAT->EXT4->FAT will cause problems since start.elf will treat the partition number to be the Nth bootable 'FAT' partition and not the raw partition number

@gportay
Copy link
Author

gportay commented Jan 14, 2025

@timg236, thanks very much for your quick answer.

I really like to have GPT to pull all the systemd features based on GPT (such as repart.d).

So, in my case, I have the first three partitions that are FAT.

FAT (autoboot.txt) -> FAT (A, config.txt) -> FAT (B, config.txt).

What should the autoboot.txt look like?

Also, do you mean the main issue is because the UUID types for theses FAT partitions are bad? i.e. they must be C12A7328-F81F-11D2-BA4B-00A0C93EC93B instead of EBD0A0A2-B9E5-4433-87C0-68B6B72699C7?

Should I add the partition attribute Legacy BIOS bootable to these "FAT" partitions?

I am sorry for these too many questions.

I am pretty confused to be honest. IIRC I was able to make it work on a Pi 5 (my memories may be corrupted... so do not trust my words :) I have to test it again).

Note: I have these lines in the logs:

MESS:00:00:04.380473:0: arasan: arasan_emmc_open
MESS:00:00:04.382131: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:04.502366: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:04.515236: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:04.549132:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0207 emmc: 200000000 actual: 50000000 div: 0x00000002 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:04.666568: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:04.679450: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:04.713339:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0207 emmc: 200000000 actual: 50000000 div: 0x00000002 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:04.726793:0: gpioman: gpioman_get_pin_num: attempting to get pin number for SDCARD_CONTROL_POWER before we're ready
MESS:00:00:04.837352:0: gpioman: gpioman_get_pin_num: attempting to get pin number for SDCARD_CONTROL_POWER before we're ready
MESS:00:00:04.849785: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:04.862650: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:04.893142:0: gpioman: gpioman_get_pin_num: attempting to get pin number for SDCARD_CONTROL_WRITE_PROTECTED before we're ready
MESS:00:00:04.905683:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0207 emmc: 200000000 actual: 50000000 div: 0x00000002 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:04.918873:0: gpioman: gpioman_get_pin_num: attempting to get pin number for SDCARD_CONTROL_POWER before we're ready

Do you want I dump the output of rpi-eeprom-config?

EDIT;

# rpi-eeprom-config 
[all]
BOOT_UART=1
WAKE_ON_GPIO=1
POWER_OFF_ON_HALT=0

@timg236
Copy link
Collaborator

timg236 commented Jan 14, 2025

The primary partition numbers are 1-based, so autoboot.txt would be partition 1, FAT A partition 2, FAT B partition 3

Partition 0 means "default" which in most cases will end up mapping to 1

Pi4/Pi5 and older accept the basic-data or EFI GUIDs
https://en.wikipedia.org/wiki/Microsoft_basic_data_partition

@gportay
Copy link
Author

gportay commented Jan 16, 2025

@timg236, I still think there is something weird after the bootloader tries to load the files from the partition located by the boot_partition (if the partition table is GPT).

I wonder if start4.elf fails to read things from the eMMC bus.

@yeryomin
Copy link

I have exactly same issue!
GPT partitions work just fine without autoboot part.
Using CM4 with IO board here.

@timg236
Copy link
Collaborator

timg236 commented Jan 16, 2025

I don't think non-zero partitions (reboot or autoboot.txt) have ever worked with GPT on Pi4 ... I took a tour of the interactions between the legacy file-systems and based something together (attached) ... seems to work but have almost certainly broken something else.

pi4-gpt-a-b.zip

MBR or GPT works with contiguous partition layouts like this. Don't expect boot to work from hybrid GPT EFI parts or non-contiguous boot partitions.

[all]
boot_partition=2
[gpio2=0]
boot_partition=3

@timg236
Copy link
Collaborator

timg236 commented Jan 17, 2025

I forgot to say that the attached .zip contains a fix candidate. If you are able to verify that this works for you then it will be easier to get this into the release pipeline.

@gportay
Copy link
Author

gportay commented Jan 17, 2025

Thanks, it works!

  0.61 RPi: BOOTSYS release VERSION:3858f977 DATE: 2024/12/07 TIME: 12:39:28
  0.65 BOOTMODE: 0x06 partition 0 build-ts BUILD_TIMESTAMP=1733575168 serial 2ac43544 boardrev d03115 stc 565596
  0.81 PM_RSTS: 0x00001000
  0.81 part 00000000 reset_info 00000000
  0.84 uSD voltage 3.3V
  0.10 Initialising SDRAM rank 2 total-size: 64 Gbit 3200 (0x14 0x00)
  0.13 DDR 3200 1 0 64 152 BL:3
  2.11 OTP boardrev d03115 bootrom 8b0 8b0
  2.13 Customer key hash 0000000000000000000000000000000000000000000000000000000000000000
  2.20 VC-JTAG unlocked


  2.98 RPi: BOOTLOADER release VERSION:3858f977 DATE: 2024/12/07 TIME: 12:39:28
  2.02 BOOTMODE: 0x06 partition 0 build-ts BUILD_TIMESTAMP=1733575168 serial 2ac43544 boardrev d03115 stc 2502366
  2.37 PCI0 init
  2.37 PCI0 reset
  2.12 PCIe scan 00001106:00003483
  2.17 XHCI-STOP
  2.17 xHC0 ver: 256 HCS: 05000420 fc000031 00e70004 HCC: 002841eb
  2.22 USBSTS 11
  2.24 xHC0 ver: 256 HCS: 05000420 fc000031 00e70004 HCC: 002841eb
  2.29 xHC0 ports 5 slots 32 intrs 4
  2.39 Boot mode: SD (01) order f4
  2.39 USB2[1] 400202e1 connected
  2.57 USB2 root HUB port 1 init
  2.59 DEV [01:00] 2.16 000000:01 class 9 VID 2109 PID 3431
  2.62 HUB init [01:00] 2.16 000000:01
  3.71 SD HOST: 200000000 CTL0: 0x00800000 BUS: 400000 Hz actual: 390625 HZ div: 512 (256) status: 0x1fff0000 delay: 276
  3.82 SD HOST: 200000000 CTL0: 0x00800f00 BUS: 400000 Hz actual: 390625 HZ div: 512 (256) status: 0x1fff0000 delay: 276
  3.90 OCR c0ff8000 [127]
CID: 00744a45555344202010e51017b600dc
CSD: 400e00325b5900003bad7f800a400000
  3.98 SD: bus-width: 4 spec: 2 SCR: 0x02358000 0x00000000
  3.06 SD HOST: 200000000 CTL0: 0x00800f04 BUS: 50000000 Hz actual: 50000000 HZ div: 4 (2) status: 0x1fff0000 delay: 2
  3.15 MBR: 0x00000001, 1245255 type: 0xee
  3.17 MBR: 0x00000000,       0 type: 0x00
  3.21 MBR: 0x00000000,       0 type: 0x00
  3.25 MBR: 0x00000000,       0 type: 0x00
  3.29 Trying partition: 0
  3.31 GPT 6e2d55525b4fc24b820820d789c096f9 000000001 000130047 num-partitions 128 entry-size 128 pentry 2 first 0
  3.41 GPT partition: 0 ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 000000022..000010021
  3.48 Matched GUID bootable-part-idx 0 want partition 0
  3.54 type: 16 lba: 34 'mkfs.fat' '  V       ^ ' clusters 16343 (4)
  3.59 rsc 4 fat-sectors 64 root dir cluster 1 sectors 32 entries 512
  3.66 FAT16 clusters 16343
  3.70 Read autoboot.txt bytes       64 hnd 0x2
  3.72 Select partition rsts 0 C(boot_partition) 2 EEPROM config 0 result 2
  3.79 Trying partition: 2
  3.82 GPT 6e2d55525b4fc24b820820d789c096f9 000000001 000130047 num-partitions 128 entry-size 128 pentry 2 first 0
  3.92 GPT partition: 0 ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 000000022..000010021
  3.99 Matched GUID bootable-part-idx 0 want partition 1
  4.04 GPT partition: 1 ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 000010022..000020021
  4.11 Matched GUID bootable-part-idx 1 want partition 1
  4.17 type: 16 lba: 65570 'mkfs.fat' '  V       ^ ' clusters 16343 (4)
  4.22 rsc 4 fat-sectors 64 root dir cluster 1 sectors 32 entries 512
  4.29 FAT16 clusters 16343
  4.33 Read config.txt bytes      195 hnd 0x1f
  4.35 [sdcard] pieeprom.upd not found
  4.39 [sdcard] recover4.elf not found
  4.42 [sdcard] recovery.elf not found
  4.72 Read start4.elf bytes  2262656 hnd 0x23
  4.75 Read fixup4.dat bytes     5463 hnd 0x20
  4.77 0x00d03115 0x00000000 0x00001fff
  4.81 MEM GPU: 76 ARM: 948 TOTAL: 1024
  4.50 Firmware: b25f3428a3370a5685ee026a7d0d6557438f078d Jan 16 2025 15:54:38
  4.83 Starting start4.elf @ 0xfec00200 partition 2
  4.85 XHCI-STOP
  4.87 xHC0 ver: 256 HCS: 05000420 fc000031 00e70004 HCC: 002841eb
  4.92 USBSTS 18
  4.96 PCI0 reset
  4.06 +

MESS:00:00:04.317373:0: arasan: arasan_emmc_open
MESS:00:00:04.319032: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:04.439260: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:04.452132: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:04.611622:0: arasan: arasan_emmc_set_clock C0: 0x00800f06 C1: 0x000e0207 emmc: 200000000 actual: 50000000 div: 0x00000002 target: 50000000 min: 0 max: 50000000 delay: 1
MESS:00:00:04.631585:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:04.634378:0: brfs: File read: 195 bytes
MESS:00:00:04.660138:0: HDMI0:EDID error reading EDID block 0 attempt 0
MESS:00:00:04.664645:0: HDMI0:EDID giving up on reading EDID block 0
MESS:00:00:04.681539:0: HDMI1:EDID error reading EDID block 0 attempt 0
MESS:00:00:04.686047:0: HDMI1:EDID giving up on reading EDID block 0
MESS:00:00:04.691603:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:05.153915:0: gpioman: gpioman_get_pin_num: pin DISPLAY_DSI_PORT not defined
MESS:00:00:05.159476:0: gpioman: gpioman_get_pin_num: pin DISPLAY_DSI_PORT not defined
MESS:00:00:05.168508:0: *** Restart logging
MESS:00:00:05.170280:0: brfs: File read: 195 bytes
MESS:00:00:05.179914:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 0
MESS:00:00:05.184938:0: hdmi: HDMI0:EDID giving up on reading EDID block 0
MESS:00:00:05.195561:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 0
MESS:00:00:05.200591:0: hdmi: HDMI0:EDID giving up on reading EDID block 0
MESS:00:00:05.206190:0: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead
MESS:00:00:05.219980:0: hdmi: HDMI1:EDID error reading EDID block 0 attempt 0
MESS:00:00:05.225012:0: hdmi: HDMI1:EDID giving up on reading EDID block 0
MESS:00:00:05.235634:0: hdmi: HDMI1:EDID error reading EDID block 0 attempt 0
MESS:00:00:05.240656:0: hdmi: HDMI1:EDID giving up on reading EDID block 0
MESS:00:00:05.246254:0: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead
MESS:00:00:05.255019:0: HDMI0: hdmi_pixel_encoding: 300000000
MESS:00:00:05.260486:0: HDMI1: hdmi_pixel_encoding: 300000000
MESS:00:00:05.275790:0: dtb_file 'bcm2711-rpi-4-b.dtb'
MESS:00:00:05.283230:0: brfs: File read: /mfs/sd/bcm2711-rpi-4-b.dtb
MESS:00:00:05.286475:0: Loaded 'bcm2711-rpi-4-b.dtb' to 0x100 size 0xd5b3
MESS:00:00:05.306550:0: brfs: File read: 54707 bytes
MESS:00:00:05.328750:0: brfs: File read: /mfs/sd/overlays/overlay_map.dtb
MESS:00:00:05.355265:0: brfs: File read: 5195 bytes
MESS:00:00:05.357660:0: brfs: File read: /mfs/sd/config.txt
MESS:00:00:05.362356:0: dtparam: spi=on
MESS:00:00:05.375081:0: brfs: File read: 195 bytes
MESS:00:00:05.392318:0: brfs: File read: /mfs/sd/overlays/spi-gpio40-45.dtbo
MESS:00:00:05.406548:0: Loaded overlay 'spi-gpio40-45'
MESS:00:00:05.427354:0: brfs: File read: 795 bytes
MESS:00:00:05.439853:0: brfs: File read: /mfs/sd/overlays/miniuart-bt.dtbo
MESS:00:00:05.464002:0: Loaded overlay 'miniuart-bt'
MESS:00:00:05.465855:0: dtparam: krnbt=on
MESS:00:00:05.512401:0: brfs: File read: 1566 bytes
MESS:00:00:05.533177:0: brfs: File read: /mfs/sd/overlays/vc4-kms-v3d-pi4.dtbo
MESS:00:00:05.599176:0: Loaded overlay 'vc4-kms-v3d-pi4'
MESS:00:00:05.766806:0: brfs: File read: 3913 bytes
MESS:00:00:05.769204:0: brfs: File read: /mfs/sd/cmdline.txt
MESS:00:00:05.773971:0: Read command line from file 'cmdline.txt':
MESS:00:00:05.779855:0: 'root=/dev/mmcblk0p4 rootwait console=tty1 console=serial0 panic=5'
MESS:00:00:05.910881:0: brfs: File read: 66 bytes
MESS:00:00:07.897999:0: brfs: File read: /mfs/sd/Image
MESS:00:00:07.900033:0: Loaded 'Image' to 0x200000 size 0x16af200
MESS:00:00:07.905864:0: Device tree loaded to 0x2eff2600 (size 0xd987)
MESS:00:00:07.914601:0: uart: Set PL011 baud rate to 103448.300000 Hz
MESS:00:00:07.921167:0: uart: Baud rate change done...
MESS:00:00:07.923191:0: uart: Baud rate change done...
MESS:00:00:07.930243:0: gpioman: gpioman_get_pin_num: pin SDCARD_CONTROL_POWER not defined
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd083]
[    0.000000] Linux version 6.1.61-v8 (gportay@archlinux) (aarch64-linux-gcc.br_real (Buildroot 2021.11-12449-g1bef613319) 14.2.0, GNU ld (GNU Binutils) 2.42) #1 SMP PREEMPT Tue Jan 14 13:17:23 CET 2025
[    0.000000] random: crng init done
[    0.000000] Machine model: Raspberry Pi 4 Model B Rev 1.5
[    0.000000] efi: UEFI not found.
[    0.000000] Reserved memory: created CMA memory pool at 0x000000000ec00000, size 512 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000000000-0x000000003fffffff]
[    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000ffffffff]
[    0.000000]   Normal   [mem 0x0000000100000000-0x00000001ffffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000003b3fffff]
[    0.000000]   node   0: [mem 0x0000000040000000-0x00000000fbffffff]
[    0.000000]   node   0: [mem 0x0000000100000000-0x00000001ffffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x00000001ffffffff]
[    0.000000] On node 0, zone DMA32: 19456 pages in unavailable ranges
[    0.000000] On node 0, zone Normal: 16384 pages in unavailable ranges
[    0.000000] percpu: Embedded 29 pages/cpu s79144 r8192 d31448 u118784
[    0.000000] Detected PIPT I-cache on CPU0
[    0.000000] CPU features: detected: Spectre-v2
[    0.000000] CPU features: detected: Spectre-v3a
[    0.000000] CPU features: detected: Spectre-v4
[    0.000000] CPU features: detected: Spectre-BHB
[    0.000000] CPU features: kernel page table isolation forced ON by KASLR
[    0.000000] CPU features: detected: Kernel page table isolation (KPTI)
[    0.000000] CPU features: detected: ARM erratum 1742098
[    0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 2028848
[    0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_headphones=0 snd_bcm2835.enable_hdmi=0  smsc95xx.macaddr=D8:3A:DD:0A:DB:51 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  root=/dev/mmcblk0p4 rootwait console=tty1 console=ttyAMA0 panic=5
[    0.000000] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
[    0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[    0.000000] software IO TLB: area num 4.
[    0.000000] software IO TLB: mapped [mem 0x0000000037400000-0x000000003b400000] (64MB)
[    0.000000] Memory: 7469952K/8245248K available (12544K kernel code, 2172K rwdata, 4072K rodata, 4288K init, 1083K bss, 251008K reserved, 524288K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] ftrace: allocating 40060 entries in 157 pages
[    0.000000] ftrace: allocated 157 pages with 5 groups
[    0.000000] trace event string verifier disabled
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu: 	RCU event tracing is enabled.
[    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
[    0.000000] 	Trampoline variant of Tasks RCU enabled.
[    0.000000] 	Rude variant of Tasks RCU enabled.
[    0.000000] 	Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer(s) running at 54.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xc743ce346, max_idle_ns: 440795203123 ns
[    0.000000] sched_clock: 56 bits at 54MHz, resolution 18ns, wraps every 4398046511102ns
[    0.000162] Console: colour dummy device 80x25
[    0.000428] printk: console [tty1] enabled
[    0.000469] Calibrating delay loop (skipped), value calculated using timer frequency.. 108.00 BogoMIPS (lpj=216000)
[    0.000488] pid_max: default: 32768 minimum: 301
[    0.000550] LSM: Security Framework initializing
[    0.000680] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.000734] Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.001421] cgroup: Disabling memory control group subsystem
[    0.002425] cblist_init_generic: Setting adjustable number of callback queues.
[    0.002439] cblist_init_generic: Setting shift to 2 and lim to 1.
[    0.002524] cblist_init_generic: Setting adjustable number of callback queues.
[    0.002536] cblist_init_generic: Setting shift to 2 and lim to 1.
[    0.002617] cblist_init_generic: Setting adjustable number of callback queues.
[    0.002629] cblist_init_generic: Setting shift to 2 and lim to 1.
[    0.002842] rcu: Hierarchical SRCU implementation.
[    0.002854] rcu: 	Max phase no-delay instances is 1000.
[    0.003810] EFI services will not be available.
[    0.004090] smp: Bringing up secondary CPUs ...
[    0.004575] Detected PIPT I-cache on CPU1
[    0.004655] CPU1: Booted secondary processor 0x0000000001 [0x410fd083]
[    0.005162] Detected PIPT I-cache on CPU2
[    0.005215] CPU2: Booted secondary processor 0x0000000002 [0x410fd083]
[    0.005701] Detected PIPT I-cache on CPU3
[    0.005751] CPU3: Booted secondary processor 0x0000000003 [0x410fd083]
[    0.005813] smp: Brought up 1 node, 4 CPUs
[    0.005855] SMP: Total of 4 processors activated.
[    0.005865] CPU features: detected: 32-bit EL0 Support
[    0.005873] CPU features: detected: 32-bit EL1 Support
[    0.005884] CPU features: detected: CRC32 instructions
[    0.005953] CPU: All CPU(s) started at EL2
[    0.005970] alternatives: applying system-wide alternatives
[    0.006986] devtmpfs: initialized
[    0.011547] Enabled cp15_barrier support
[    0.011586] Enabled setend support
[    0.011689] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.011714] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.020727] pinctrl core: initialized pinctrl subsystem
[    0.021172] DMI not present or invalid.
[    0.021493] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.023183] DMA: preallocated 1024 KiB GFP_KERNEL pool for atomic allocations
[    0.023314] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.023753] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.023803] audit: initializing netlink subsys (disabled)
[    0.023931] audit: type=2000 audit(0.020:1): state=initialized audit_enabled=0 res=1
[    0.024226] thermal_sys: Registered thermal governor 'step_wise'
[    0.024268] cpuidle: using governor menu
[    0.024372] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.024465] ASID allocator initialised with 32768 entries
[    0.024882] Serial: AMBA PL011 UART driver
[    0.031566] bcm2835-mbox fe00b880.mailbox: mailbox enabled
[    0.044096] raspberrypi-firmware soc:firmware: Attached to firmware from 2025-01-16T15:54:38, variant start
[    0.048100] raspberrypi-firmware soc:firmware: Firmware hash is b25f3428a3370a5685ee026a7d0d6557438f078d
[    0.057367] KASLR enabled
[    0.074551] bcm2835-dma fe007000.dma: DMA legacy API manager, dmachans=0x1
[    0.076962] iommu: Default domain type: Translated 
[    0.076976] iommu: DMA domain TLB invalidation policy: strict mode 
[    0.077174] SCSI subsystem initialized
[    0.077316] usbcore: registered new interface driver usbfs
[    0.077346] usbcore: registered new interface driver hub
[    0.077381] usbcore: registered new device driver usb
[    0.077585] usb_phy_generic phy: supply vcc not found, using dummy regulator
[    0.077834] pps_core: LinuxPPS API ver. 1 registered
[    0.077845] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]>
[    0.077863] PTP clock support registered
[    0.078362] vgaarb: loaded
[    0.078645] clocksource: Switched to clocksource arch_sys_counter
[    0.078947] VFS: Disk quotas dquot_6.6.0
[    0.078987] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.079075] FS-Cache: Loaded
[    0.079149] CacheFiles: Loaded
[    0.082531] NET: Registered PF_INET protocol family
[    0.083111] IP idents hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.086792] tcp_listen_portaddr_hash hash table entries: 4096 (order: 4, 65536 bytes, linear)
[    0.086887] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.086910] TCP established hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.087106] TCP bind hash table entries: 65536 (order: 9, 2097152 bytes, linear)
[    0.089484] TCP: Hash tables configured (established 65536 bind 65536)
[    0.089806] MPTCP token hash table entries: 8192 (order: 5, 196608 bytes, linear)
[    0.090117] UDP hash table entries: 4096 (order: 5, 131072 bytes, linear)
[    0.090174] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes, linear)
[    0.090358] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.090821] RPC: Registered named UNIX socket transport module.
[    0.090835] RPC: Registered udp transport module.
[    0.090844] RPC: Registered tcp transport module.
[    0.090853] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.090870] PCI: CLS 0 bytes, default 64
[    0.092144] hw perfevents: enabled with armv8_cortex_a72 PMU driver, 7 counters available
[    0.092355] kvm [1]: IPA Size Limit: 44 bits
[    0.092928] kvm [1]: vgic interrupt IRQ9
[    0.093028] kvm [1]: Hyp mode initialized successfully
[    0.454839] Initialise system trusted keyrings
[    0.455142] workingset: timestamp_bits=46 max_order=21 bucket_order=0
[    0.457797] zbud: loaded
[    0.459031] NFS: Registering the id_resolver key type
[    0.459061] Key type id_resolver registered
[    0.459071] Key type id_legacy registered
[    0.459117] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.459130] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    0.459708] Key type asymmetric registered
[    0.459723] Asymmetric key parser 'x509' registered
[    0.459766] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[    0.459903] io scheduler mq-deadline registered
[    0.459916] io scheduler kyber registered
[    0.461345] irq_brcmstb_l2: registered L2 intc (/soc/interrupt-controller@7ef00100, parent irq: 27)
[    0.466828] brcm-pcie fd500000.pcie: host bridge /scb/pcie@7d500000 ranges:
[    0.466859] brcm-pcie fd500000.pcie:   No bus range found for /scb/pcie@7d500000, using [bus 00-ff]
[    0.466910] brcm-pcie fd500000.pcie:      MEM 0x0600000000..0x063fffffff -> 0x00c0000000
[    0.466958] brcm-pcie fd500000.pcie:   IB MEM 0x0000000000..0x01ffffffff -> 0x0400000000
[    0.467437] brcm-pcie fd500000.pcie: setting SCB_ACCESS_EN, READ_UR_MODE, MAX_BURST_SIZE
[    0.467666] brcm-pcie fd500000.pcie: PCI host bridge to bus 0000:00
[    0.467681] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.467694] pci_bus 0000:00: root bus resource [mem 0x600000000-0x63fffffff] (bus address [0xc0000000-0xffffffff])
[    0.467740] pci 0000:00:00.0: [14e4:2711] type 01 class 0x060400
[    0.467880] pci 0000:00:00.0: PME# supported from D0 D3hot
[    0.469467] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.469595] pci_bus 0000:01: supply vpcie3v3 not found, using dummy regulator
[    0.469677] pci_bus 0000:01: supply vpcie3v3aux not found, using dummy regulator
[    0.469725] pci_bus 0000:01: supply vpcie12v not found, using dummy regulator
[    0.576716] brcm-pcie fd500000.pcie: link up, 5.0 GT/s PCIe x1 (SSC)
[    0.576824] pci 0000:01:00.0: [1106:3483] type 00 class 0x0c0330
[    0.576928] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00000fff 64bit]
[    0.577284] pci 0000:01:00.0: PME# supported from D0 D3hot
[    0.586713] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    0.586741] pci 0000:00:00.0: BAR 8: assigned [mem 0x600000000-0x6000fffff]
[    0.586756] pci 0000:01:00.0: BAR 0: assigned [mem 0x600000000-0x600000fff 64bit]
[    0.586821] pci 0000:00:00.0: PCI bridge to [bus 01]
[    0.586836] pci 0000:00:00.0:   bridge window [mem 0x600000000-0x6000fffff]
[    0.587051] pcieport 0000:00:00.0: enabling device (0000 -> 0002)
[    0.587170] pcieport 0000:00:00.0: PME: Signaling with IRQ 31
[    0.587398] pcieport 0000:00:00.0: AER: enabled with IRQ 31
[    0.594019] Serial: 8250/16550 driver, 1 ports, IRQ sharing enabled
[    0.595757] iproc-rng200 fe104000.rng: hwrng registered
[    0.596037] vc-mem: phys_addr:0x00000000 mem_base=0x3ec00000 mem_size:0x40000000(1024 MiB)
[    0.601686] brd: module loaded
[    0.605083] loop: module loaded
[    0.605530] Loading iSCSI transport class v2.0-870.
[    0.608137] bcmgenet fd580000.ethernet: GENET 5.0 EPHY: 0x0000
[    0.702715] unimac-mdio unimac-mdio.-19: Broadcom UniMAC MDIO bus
[    0.703234] usbcore: registered new interface driver r8152
[    0.703275] usbcore: registered new interface driver lan78xx
[    0.703303] usbcore: registered new interface driver smsc95xx
[    0.748522] xhci_hcd 0000:01:00.0: xHCI Host Controller
[    0.748543] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 1
[    0.748834] xhci_hcd 0000:01:00.0: hcc params 0x002841eb hci version 0x100 quirks 0x0b00040000000890
[    0.749359] xhci_hcd 0000:01:00.0: xHCI Host Controller
[    0.749374] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 2
[    0.749390] xhci_hcd 0000:01:00.0: Host supports USB 3.0 SuperSpeed
[    0.749632] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.01
[    0.749648] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.749660] usb usb1: Product: xHCI Host Controller
[    0.749671] usb usb1: Manufacturer: Linux 6.1.61-v8 xhci-hcd
[    0.749681] usb usb1: SerialNumber: 0000:01:00.0
[    0.750002] hub 1-0:1.0: USB hub found
[    0.750043] hub 1-0:1.0: 1 port detected
[    0.750524] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.01
[    0.750539] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.750551] usb usb2: Product: xHCI Host Controller
[    0.750561] usb usb2: Manufacturer: Linux 6.1.61-v8 xhci-hcd
[    0.750571] usb usb2: SerialNumber: 0000:01:00.0
[    0.750914] hub 2-0:1.0: USB hub found
[    0.750952] hub 2-0:1.0: 4 ports detected
[    0.751716] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[    0.752539] usbcore: registered new interface driver uas
[    0.752585] usbcore: registered new interface driver usb-storage
[    0.753008] mousedev: PS/2 mouse device common for all mice
[    0.756305] sdhci: Secure Digital Host Controller Interface driver
[    0.756323] sdhci: Copyright(c) Pierre Ossman
[    0.756659] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.759181] ledtrig-cpu: registered to indicate activity on CPUs
[    0.759349] hid: raw HID events driver (C) Jiri Kosina
[    0.759436] usbcore: registered new interface driver usbhid
[    0.759447] usbhid: USB HID core driver
[    0.764354] NET: Registered PF_PACKET protocol family
[    0.764430] Key type dns_resolver registered
[    0.764921] registered taskstats version 1
[    0.764973] Loading compiled-in X.509 certificates
[    0.765365] Key type .fscrypt registered
[    0.765377] Key type fscrypt-provisioning registered
[    0.778397] fe215040.serial: ttyS0 at MMIO 0xfe215040 (irq = 36, base_baud = 62500000) is a 16550
[    0.778542] serial serial0: tty port ttyS0 registered
[    0.779342] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer
[    0.779581] bcm2835-power bcm2835-power: Broadcom BCM2835 power domains driver
[    0.780346] mmc-bcm2835 fe300000.mmcnr: mmc_debug:0 mmc_debug2:0
[    0.780362] mmc-bcm2835 fe300000.mmcnr: DMA channel allocated
[    0.803603] uart-pl011 fe201000.serial: there is not valid maps for state default
[    0.803990] uart-pl011 fe201000.serial: cts_event_workaround enabled
[    0.804057] fe201000.serial: ttyAMA0 at MMIO 0xfe201000 (irq = 38, base_baud = 0) is a PL011 rev2
[    0.846913] mmc0: SDHCI controller on fe340000.mmc [fe340000.mmc] using ADMA
[    0.848568] printk: console [ttyAMA0] enabled
[    0.891335] mmc0: new high speed SDHC card at address b368
[    0.899092] of_cfs_init
[    0.904801] mmcblk0: mmc0:b368 USD   7.46 GiB 
[    0.911382] of_cfs_init: OK
[    0.924316] GPT:Primary header thinks Alt. header is not at the end of the disk.
[    0.965051] mmc1: new high speed SDIO card at address 0001
[    0.965665] GPT:1245255 != 15644671
[    1.022658] usb 1-1: new high-speed USB device number 2 using xhci_hcd
[    1.030228] GPT:Alternate GPT header not at the end of the disk.
[    1.030232] GPT:1245255 != 15644671
[    1.030238] GPT: Use GNU Parted to correct GPT errors.
[    1.185313] usb 1-1: New USB device found, idVendor=2109, idProduct=3431, bcdDevice= 4.21
[    1.195307]  mmcblk0: p1 p2 p3 p4 p5
[    1.199887] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    1.199895] usb 1-1: Product: USB2.0 Hub
[    1.212470] mmcblk0: mmc0:b368 USD   7.46 GiB
[    1.227695] hub 1-1:1.0: USB hub found
[    2.367725] uart-pl011 fe201000.serial: no DMA platform data
[    2.367942] hub 1-1:1.0: 4 ports detected
[    2.411106] EXT4-fs (mmcblk0p4): orphan cleanup on readonly fs
[    2.417057] EXT4-fs (mmcblk0p4): mounted filesystem with ordered data mode. Quota mode: none.
[    2.425653] VFS: Mounted root (ext4 filesystem) readonly on device 179:4.
[    2.432873] devtmpfs: mounted
[    2.439403] Freeing unused kernel memory: 4288K
[    2.444042] Run /sbin/init as init process
[    2.894818] systemd[1]: System time before build time, advancing clock.
[    3.019425] NET: Registered PF_INET6 protocol family
[    3.025225] Segment Routing with IPv6
[    3.028926] In-situ OAM (IOAM) with IPv6
[    3.090716] systemd[1]: systemd 256.7 running in system mode (-PAM -AUDIT -SELINUX -APPARMOR -IMA -SMACK -SECCOMP -GCRYPT -GNUTLS +OPENSSL -ACL +BLKID +CURL -ELFUTILS -FIDO2 -IDN2 -IDN -IPTC +KMOD -LIBCRYPTSETUP -LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 -PWQUALITY -P11KIT -QRENCODE -TPM2 -BZIP2 -LZ4 +XZ +ZLIB -ZSTD -BPF_FRAMEWORK -XKBCOMMON -UTMP -SYSVINIT -LIBARCHIVE)
[    3.123307] systemd[1]: Detected architecture arm64.

Welcome to Buildroot 2025.02-git!

[    3.147617] systemd[1]: Hostname set to <buildroot>.
[    3.158419] systemd[1]: Initializing machine ID from random generator.
[    3.165111] systemd[1]: Installed transient /etc/machine-id file.
[    3.252785] systemd-ssh-generator[121]: Binding SSH to AF_UNIX socket /run/ssh-unix-local/socket.
[    3.261916] systemd-ssh-generator[121]: → connect via 'ssh .host' locally
[    3.554723] systemd[1]: Configuration file /usr/lib/systemd/system/rauc-mark-good.service is marked executable. Please remove executable permission bits. Proceeding anyway.
[    3.622509] systemd[1]: Queued start job for default target Multi-User System.
[    3.668771] systemd[1]: Created slice Slice /system/getty.
[  OK  ] Created slice Slice /system/getty.
[    3.691426] systemd[1]: Created slice Slice /system/modprobe.
[  OK  ] Created slice Slice /system/modprobe.
[    3.711362] systemd[1]: Created slice Slice /system/serial-getty.
[  OK  ] Created slice Slice /system/serial-getty.
[    3.731353] systemd[1]: Created slice Slice /system/systemd-fsck.
[  OK  ] Created slice Slice /system/systemd-fsck.
[    3.750954] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[  OK  ] Started Dispatch Password Requests to Console Directory Watch.
[    3.774874] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[  OK  ] Started Forward Password Requests to Wall Directory Watch.
[    3.798747] systemd[1]: Expecting device /dev/mmcblk0p1...
         Expecting device /dev/mmcblk0p1...
[    3.818703] systemd[1]: Expecting device /dev/mmcblk0p2...
         Expecting device /dev/mmcblk0p2...
[    3.838702] systemd[1]: Expecting device /dev/ttyAMA0...
         Expecting device /dev/ttyAMA0...
[    3.858744] systemd[1]: Reached target Path Units.
[  OK  ] Reached target Path Units.
[    3.878726] systemd[1]: Reached target Remote File Systems.
[  OK  ] Reached target Remote File Systems.
[    3.898715] systemd[1]: Reached target Slice Units.
[  OK  ] Reached target Slice Units.
[    3.918727] systemd[1]: Reached target Swaps.
[  OK  ] Reached target Swaps.
[    3.937299] systemd[1]: Listening on Credential Encryption/Decryption.
[  OK  ] Listening on Credential Encryption/Decryption.
[    3.959508] systemd[1]: Listening on Journal Audit Socket.
[  OK  ] Listening on Journal Audit Socket.
[    3.979042] systemd[1]: Listening on Journal Socket (/dev/log).
[  OK  ] Listening on Journal Socket (/dev/log).
[    3.999027] systemd[1]: Listening on Journal Sockets.
[  OK  ] Listening on Journal Sockets.
[    4.019115] systemd[1]: Listening on Network Service Netlink Socket.
[  OK  ] Listening on Network Service Netlink Socket.
[    4.039023] systemd[1]: Listening on udev Control Socket.
[  OK  ] Listening on udev Control Socket.
[    4.058910] systemd[1]: Listening on udev Kernel Socket.
[  OK  ] Listening on udev Kernel Socket.
[    4.079119] systemd[1]: Huge Pages File System was skipped because of an unmet condition check (ConditionPathExists=/sys/kernel/mm/hugepages).
[    4.095059] systemd[1]: Mounting POSIX Message Queue File System...
         Mounting POSIX Message Queue File System...
[    4.131141] systemd[1]: Mounting Kernel Debug File System...
         Mounting Kernel Debug File System...
[    4.167154] systemd[1]: Mounting Kernel Trace File System...
         Mounting Kernel Trace File System...
[    4.203143] systemd[1]: Mounting Temporary Directory /tmp...
         Mounting Temporary Directory /tmp...
[    4.224762] systemd[1]: Mounting Buildroot /var tmpfs...
         Mounting Buildroot /var tmpfs...
[    4.252448] systemd[1]: Starting Create List of Static Device Nodes...
         Starting Create List of Static Device Nodes...
[    4.280999] systemd[1]: Starting Load Kernel Module configfs...
         Starting Load Kernel Module configfs...
[    4.309046] systemd[1]: Starting Load Kernel Module efi_pstore...
         Starting Load Kernel Module efi_pstore...
[    4.332970] systemd[1]: Starting Load Kernel Module fuse...
         Starting Load Kernel Module fuse...
[    4.354764] systemd[1]: Starting Journal Service...
         Starting Journal Service...
[    4.375446] fuse: init (API version 7.37)
[    4.376392] systemd[1]: Load Kernel Modules was skipped because no trigger condition checks were met.
[    4.390973] systemd[1]: Starting Generate network units from Kernel command line...
         Starting Generate netwo[    4.400929] systemd[1]: Starting Remount Root and Kernel File Systems...
rk units from Kernel command line...
[    4.418907] systemd-journald[143]: Collecting audit messages is enabled.
         Starting Remount Root and Kernel File Systems...
[    4.455414] systemd[1]: Starting Apply Kernel Variables...
         Starting Apply Kernel Variables...
[    4.476881] systemd[1]: Starting Load udev Rules from Credentials...
         Starting Load udev Rules from Credentials...
[    4.505569] systemd[1]: Starting Coldplug All udev Devices...
         Starting Coldplug All udev Devices...
[    4.519758] systemd[1]: Started Journal Service.
[  OK  ] Started Journal Service.
[  OK  ] Mounted POSIX Message Queue File System.
[  OK  ] Mounted Kernel Debug File System.
[  OK  ] Mounted Kernel Trace File System.
[  OK  ] Mounted Temporary Directory /tmp.
[  OK  ] Mounted Buildroot /var tmpfs.
[  OK  ] Finished Create List of Static Device Nodes.
[  OK  ] Finished Load Kernel Module configfs.
[  OK  ] Finished Load Kernel Module efi_pstore.
[  OK  ] Finished Load Kernel Module fuse.
[  OK  ] Finished Generate network units from Kernel command line.
[  OK  ] Finished Remount Root and Kernel File Systems.
[  OK  ] Finished Apply Kernel Variables.
[  OK  ] Finished Load udev Rules from Credentials.
[  OK  ] Reached target Preparation for Network.
         Mounting FUSE Control File System...
         Mounting Kernel Configuration File System...
         Starting Flush Journal to Persistent Storage...
         Starting Create Static Device Nodes in /dev gracefully...
[  OK  ] Mounted FUSE Control File System.
[  OK  ] Mounted Kernel Configuration File System.
[  OK  ] Finished Coldplug All udev Devices.
[    4.966291] systemd-journald[143]: Received client request to flush runtime journal.
[  OK  ] Finished Flush Journal to Persistent Storage.
[  OK  ] Finished Create Static Device Nodes in /dev gracefully.
         Starting Create Static Device Nodes in /dev...
[  OK  ] Finished Create Static Device Nodes in /dev.
[  OK  ] Reached target Preparation for Local File Systems.
[    5.151784] audit: type=1334 audit(1728402152.251:2): prog-id=6 op=LOAD
[    5.158481] audit: type=1334 audit(1728402152.255:3): prog-id=7 op=LOAD
         Starting Rule-based Manager for Device Events and Files...
[  OK  ] Started Rule-based Manager for Device Events and Files.
[    5.311117] audit: type=1334 audit(1728402152.411:4): prog-id=8 op=LOAD
         Starting Network Configuration...
[    5.404208] bcmgenet fd580000.ethernet end0: renamed from eth0
[  OK  ] Found device /dev/ttyAMA0.
[    5.608512] rpi-gpiomem fe200000.gpiomem: window base 0xfe200000 size 0x00001000
[    5.616594] pinctrl-bcm2835 fe200000.gpio: pin gpio40 already requested by fe00b840.mailbox; cannot claim for fe204000.spi
[    5.617268] rpi-gpiomem fe200000.gpiomem: initialised 1 regions as /dev/gpiomem
[    5.639208] pinctrl-bcm2835 fe200000.gpio: pin-40 (fe204000.spi) status -22
[    5.646262] pinctrl-bcm2835 fe200000.gpio: could not request pin 40 (gpio40) from group gpio40  on device pinctrl-bcm2711
[    5.657263] spi-bcm2835 fe204000.spi: Error applying setting, reverse things back
[    5.665316] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned.
[    5.678625] brcmstb-i2c fef04500.i2c:  @97500hz registered in polling mode
[    5.686942] bcm2835_vc_sm_cma_probe: Videocore shared memory driver
[    5.694080] brcmstb-i2c fef09500.i2c:  @97500hz registered in polling mode
[    5.704649] [vc_sm_connected_init]: start
[    5.710204] [vc_sm_connected_init]: installed successfully
[  OK  ] Found device /dev/mmcblk0p2.
         Starting Virtual Console Setup...
[    5.803905] mc: Linux media interface: v0.10
[    5.821559] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned.
[    5.866768] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    5.892681] videodev: Linux video capture interface: v2.00
[  OK  ] Found device /dev/mmcblk0p1.
         Starting File System Check on /dev/mmcblk0p1...
[    5.920144] cfg80211: Loaded X.509 cert '[email protected]: 577e021cb980e0e820821ba7b54b4961b8b4fadf'
[    5.929689] cfg80211: Loaded X.509 cert '[email protected]: 3abbc6ec146e09d1b6016ab9d6cf71dd233f0328'
[    5.943299] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    5.953082] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    5.963771] cfg80211: failed to load regulatory.db
[  OK  ] Finished Virtual Console Set[    5.971774] [drm] Initialized v3d 1.0.0 20180419 for fec00000.v3d on minor 0
up.
[    5.986567] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[    6.000478] Bluetooth: Core ver 2.22
[    6.002478] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[    6.014947] NET: Registered PF_BLUETOOTH protocol family
[    6.021460] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[    6.032835] Bluetooth: HCI device and connection manager initialized
[    6.040153] Bluetooth: HCI socket layer initialized
[    6.045129] Bluetooth: L2CAP socket layer initialized
[    6.050228] Bluetooth: SCO socket layer initialized
[  OK  ] Finished File System Check on /dev/mmcblk0p1.
[    6.088912] bcm2835_v4l2: module is from the staging directory, the quality is unknown, you have been warned.
[    6.089316] rpivid_hevc: module is from the staging directory, the quality is unknown, you have been warned.
[    6.090409] bcm2835_isp: module is from the staging directory, the quality is unknown, you have been warned.
[    6.091810] bcm2835_codec: module is from the staging directory, the quality is unknown, you have been warned.
[    6.134930] rpivid feb10000.codec: Device registered as /dev/video19
[    6.135378] Bluetooth: HCI UART driver ver 2.3
[    6.148144] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video13
[    6.156216] Bluetooth: HCI UART protocol H4 registered
[    6.161896] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video14
[    6.162052] bcm2835-codec bcm2835-codec: Device registered as /dev/video10
[    6.176646] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    6.177884] bcm2835-codec bcm2835-codec: Loaded V4L2 decode
[    6.183401] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video15
[    6.192133] Bluetooth: HCI UART protocol Broadcom registered
[    6.197961] hci_uart_bcm serial0-0: supply vbat not found, using dummy regulator
         Mounting /boot bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video16
[    6.212542] hci_uart_bcm serial0-0: supply vddio not found, using dummy regulator
[0m...
[    6.222032] bcm2835-isp bcm2835-isp: Register output node 0 with media controller
[    6.236537] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller
[    6.236753] bcm2835-codec bcm2835-codec: Device registered as /dev/video11
[    6.244215] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller
[    6.251046] bcm2835-codec bcm2835-codec: Loaded V4L2 encode
[    6.258620] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller
[    6.273019] bcmgenet fd580000.ethernet: configuring instance for external RGMII (RX delay)
[    6.274960] bcm2835-codec bcm2835-codec: Device registered as /dev/video12
[    6.274981] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video20
[    6.281506] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[    6.288234] bcm2835-codec bcm2835-codec: Loaded V4L2 isp
[    6.296087] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video21
[    6.298845] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin failed with error -2
[    6.298875] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.bin failed with error -2
[    6.310126] usbcore: registered new interface driver brcmfmac
[    6.318228] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video22
[    6.345285] bcm2835-codec bcm2835-codec: Device registered as /dev/video18
[    6.353228] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video23
[    6.360096] bcm2835-codec bcm2835-codec: Loaded V4L2 image_fx
[    6.367706] bcm2835-isp bcm2835-isp: Register output node 0 with media controller
[    6.381037] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller
[    6.381045] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller
[    6.381065] bcmgenet fd580000.ethernet end0: Link is Down
[    6.401628] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller
[    6.401775] bcm2835-isp bcm2835-isp: Loaded V4L2 bcm2835-isp
[  OK  ] Started     6.416314] bcm2835-codec bcm2835-codec: Device registered as /dev/video31
;39mNetwork Configuratio[    6.425691] bcm2835-codec bcm2835-codec: Loaded V4L2 encode_image
n.
         Starting Enable Persistent Storage in systemd-networkd...
[  OK  ] Mounted /boot.
         Mounting /boot/firmware...
[  OK  ] Finished Enable Persistent Storage in systemd-networ[    6.557937] FAT-fs (mmcblk0p2): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
kd.
[  OK  ] Mounted /boot/firmware.
[    6.591114] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[    6.598722] Registered IR keymap rc-cec
[    6.602759] rc rc0: vc4-hdmi-0 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[    6.609937] input: vc4-hdmi-0 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input0
[  OK  ] Reached targe[    6.619621] Bluetooth: hci0: BCM: chip id 107
t Bluetooth Sup[    6.620157] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
port.
[    6.635382] Bluetooth: hci0: BCM: features 0x2f
[    6.637310] Registered IR keymap rc-cec
[    6.643991] rc rc1: vc4-hdmi-1 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[    6.651254] input: vc4-hdmi-1 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input1
[    6.658878] Bluetooth: hci0: Received unexpected HCI Event 0x00
[  OK  ] Reached targe[    6.667933] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
t Local File Sy[    6.676759] vc4-drm gpu: bound fe004000.txp (ops vc4_txp_ops [vc4])
stems.
[    6.685091] vc4-drm gpu: bound fe206000.pixelvalve (ops vc4_crtc_ops [vc4])
[    6.693088] vc4-drm gpu: bound fe207000.pixelvalve (ops vc4_crtc_ops [vc4])
[    6.700293] vc4-drm gpu: bound fe20a000.pixelvalve (ops vc4_crtc_ops [vc4])
[    6.707518] vc4-drm gpu: bound fe216000.pixelvalve (ops vc4_crtc_ops [vc4])
[    6.714737] vc4-drm gpu: bound fec12000.pixelvalve (ops vc4_crtc_ops [vc4])
[    6.723407] [drm] Initialized vc4 0.0.0 20140616 for gpu on minor 1
[    6.730012] vc4-drm gpu: [drm] Cannot find any crtc or sizes
         Starting Create System Files an[    6.738406] vc4-drm gpu: [drm] Cannot find any crtc or sizes
d Directories...
[    6.746109] vc4-drm gpu: [drm] Cannot find any crtc or sizes
         Starting Update is Completed...
[  OK  ] Reached target Sound Card.
[  OK  ] Finished Update is Completed.
[  OK  ] Finished Create System Files and Directories.
[    6.905533] audit: type=1334 audit(1728402154.003:5): prog-id=9 op=LOAD
         Starting Network Name Resolution...
[    6.928791] audit: type=1334 audit(1728402154.027:6): prog-id=10 op=LOAD
         Starting Network Time Synchronization...
[  OK  ] Started Network Time Synchronization.
[  OK  ] Reached target System Time Set.
[  OK  ] Started Network Name Resolution.
[  OK  ] Reached target Network.
[  OK  ] Reached target Host and Network Name Lookups.
[  OK  ] Reached target System Initialization.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target Timer Units.
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Listening on OpenSSH Server Socket…temd-ssh-generator, AF_UNIX Local).
[    7.352725] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
[  OK  ] Listening on Hostname Service Socket.
[  OK  ] Reached target Socket Units.
[  OK  ] Reached target Basic System.
         Starting D-Bus System Message Bus...
         Starting Dropbear SSH daemon...
[  OK  ] Started Getty on tty1.
[  OK  ] Started RAUC Good-marking Service.
[  OK  ] Started Serial Getty on ttyAMA0.
[  OK  ] Reached target Login Prompts.
         Starting OpenSSH server daemon...
[  OK  ] Started D-Bus System Message Bus.
[  OK  ] Started Dropbear SSH daemon.
         Starting RAUC Update Service...
[  OK  ] Started OpenSSH server daemon.
[  OK  ] Started RAUC Update Service.
[  OK  ] Reached target Multi-User System.
[    8.642661] Bluetooth: hci0: command 0x0c14 tx timeout

Welcome to Buildroot
buildroot login: [   10.466853] IPv6: ADDRCONF(NETDEV_CHANGE): end0: link becomes ready
[   10.473528] bcmgenet fd580000.ethernet end0: Link is Up - 1Gbps/Full - flow control rx/tx
[   16.866661] Bluetooth: hci0: BCM: Reading local name failed (-110)

buildroot login: root
# md5sum /boot/firmware/fixup4.dat /boot/firmware/start4.elf 
ee0b18c353fbcc679f7d16d6bf0fe23c  /boot/firmware/fixup4.dat
8faecb9899bfa7d822980a034f5ce0c4  /boot/firmware/start4.elf

@gportay
Copy link
Author

gportay commented Jan 17, 2025

@timg236, Thank you very much for your fix.


Also, I wonder if the firmware/bootloader should also look for the partition type UUID Extended Boot Loader Partition

Name Partition Type UUID Allowed File Systems Explanation
Extended Boot Loader Partition bc13c2ff-59e6-4262-a352-b275fd6f7172 SD_GPT_XBOOTLDR Typically VFAT The Extended Boot Loader Partition (XBOOTLDR) used for the current boot is automatically mounted to /boot/, unless a different partition is mounted there (possibly via /etc/fstab) or the mount point directory is non-empty on the root disk. This partition type is defined by the Boot Loader Specification.

Additionally, I cannot boot a GPT SD-card on a Raspberry Pi 3; However, I was able to boot an hybrid GPT/MBR (if I remember correctly), is that correct?

@timg236
Copy link
Collaborator

timg236 commented Jan 17, 2025

Thanks for the test report!

SD_GPT_XBOOTLDR seems like it might be a useful addition on Pi5, although bootrom will not recognize this partition type UUID for loading recovery.bin from the SD card. On BCM2711 the split SPI flash bootloader and start4.elf make such a change more difficult e.g. it might load start4.elf and then fail unless both are up to date.

Hybrid should work so long as the GPT is in primary partition 4 i.e. so the bootrom and bootcode.bin can't see it. There is some native support for GPT in Pi3B (maybe just plus) in the bootrom.

To see if the bootrom is able to load a partition enable UART debug in bootcode.bin - if you get UART output then it's fixable in software.
sed -i -e "s/BOOT_UART=0/BOOT_UART=1/" bootcode.bin

@yeryomin
Copy link

@timg236 I can also confirm that your fixed version works as expected for me! thanks!

@gportay
Copy link
Author

gportay commented Jan 20, 2025

@timg236, OOS, since the bootloader propagates the index of the nth FAT partition used to boot the system via the fdt, is it possible to get the device used to boot the system? i.e. the SD-card, the eMMC, the USB or even the network? "Similar" to the EFI variable LoaderDevicePartUUID (/sys/firmware/efi/efivars/LoaderDevicePartUUID-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f). The idea is to mount the appropriate FAT filesystem based on /chosen/bootloader/partition if there is multiple "bootable" plugged to the Raspberry Pi.

@timg236
Copy link
Collaborator

timg236 commented Jan 20, 2025

See /proc/device-tree/chosen/bootloader/partition

https://www.raspberrypi.com/documentation/computers/configuration.html#common-bootloader-properties-chosenbootloader

although the normal approach would be to put the partition id in the appropriate cmdline.txt

@gportay
Copy link
Author

gportay commented Jan 20, 2025

See /proc/device-tree/chosen/bootloader/partition

https://www.raspberrypi.com/documentation/computers/configuration.html#common-bootloader-properties-chosenbootloader

Do you mean I should use /proc/device-tree/chosen/bootloader/boot-order to know which BOOT_ORDER.

I would like to distinguish if I booted from the SD card or from the eMMC. And sadly, I cannot using the the boot-mode

although the normal approach would be to put the partition id in the appropriate cmdline.txt

To be honest, I would prefer to have that information from the bootloader itself since it is the only reliable way to have it.

I guess this is not the right place to discuss any longer on that topic. And I am sorry for that. However, is there a better place for asking such feature?

@timg236
Copy link
Collaborator

timg236 commented Jan 20, 2025

The partition number, boot-order and selected boot mode are made available via device-tree which uniquely identifies the boot media.
I don't foresee adding UUIDs or other data at the moment

@pelwell
Copy link
Collaborator

pelwell commented Jan 20, 2025

I would prefer to have that information from the bootloader itself since it is the only reliable way to have it.

I don't understand your logic - since cmdline.txt is one of several files loaded by the bootloader from the boot volume, it is arguable that its content is the most reliable indication of where it was loaded from.

@lurch
Copy link
Contributor

lurch commented Jan 20, 2025

See /proc/device-tree/chosen/bootloader/partition
https://www.raspberrypi.com/documentation/computers/configuration.html#common-bootloader-properties-chosenbootloader

Do you mean I should use /proc/device-tree/chosen/bootloader/boot-order to know which BOOT_ORDER.

@gportay I think that you might have misinterpreted the documentation - the /proc/device-tree/chosen/bootloader/boot-mode doesn't give you the BOOT_ORDER (which you could just read from the EEPROM config anyway), it tells you which single boot-mode was used. The documentation for /proc/device-tree/chosen/bootloader/boot-mode simply cross-links to the BOOT_ORDER documentation to help you correlate the boot-mode number back into a human-readable string 🙂

@gportay
Copy link
Author

gportay commented Jan 21, 2025

I am sorry, my asking is poluting the issue with unrelated purpose.

@gportay I think that you might have misinterpreted the documentation - the /proc/device-tree/chosen/bootloader/boot-mode doesn't give you the BOOT_ORDER (which you could just read from the EEPROM config anyway), it tells you which single boot-mode was used. The documentation for /proc/device-tree/chosen/bootloader/boot-mode simply cross-links to the BOOT_ORDER documentation to help you correlate the boot-mode number back into a human-readable string 🙂

I think I have understood the documentation. I get 0x00000001 telling me I booted from either SD-Card or eMMC, and I cannot make the distinction. I should have labeled the link BOOT_MODE in place of BOOT_ORDER (because it refers to the BOOT_ORDER values) and that bring some confusion.

The partition number, boot-order and selected boot mode are made available via device-tree which uniquely identifies the boot media.

True, at the exception it is not possible to make the distinction between SD-Card or eMMC at it has been said, if both are made available at the same time, I am right?

I don't foresee adding UUIDs or other data at the moment

I have mentioned the EFI variable (using UUID) to justify my request. And I do not think the UUID is the way to go as UUID are not necessarily uniques (at least for filesystems) especially with A/B redundancy filesystems or installer that copies itself to another device.

I don't understand your logic - since cmdline.txt is one of several files loaded by the bootloader from the boot volume, it is arguable that its content is the most reliable indication of where it was loaded from.

Well, it seems to, but it implies to mount the nth FAT filesystem of the SD-Card and eMMC to compare the cmdline.txt file to /proc/cmdline. But the bootloader may modify it in the meanwhile, right? This is what I think it is not the most reliable way to identify the correct nth filesystem if there are multiple boot devices (eMMC, SD-Card, USB...).

FWIW, I guess the boot partition by identifying the root device and I expect it is on the same device. I was wondering if there is something even more simple using the device-tree and the answer is no for now.

To be honest, I think I was looking for a node /chosen/bootloader/device that would help to identify the boot device on bus linux side. I am probably the only one on earth asking for that. Again, sorry for all this noise, and thanks for your answers.

@lurch
Copy link
Contributor

lurch commented Jan 21, 2025

I get 0x00000001 telling me I booted from either SD-Card or eMMC, and I cannot make the distinction.

It's not possible to have both SD-Card and eMMC connected at the same time - they both connect to the same physical pins. For the "standard" Raspberry Pi boards, only SD-card is available. For the Compute Module boards, only eMMC is available on CMs containing built-in eMMC; SD-card is only available on the "Lite" Compute Modules.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants