I'm trying to set up autoboot.txt on a CM4. When partitioning the eMMC with MBR everything seems to work correctly, but if I switch to GPT it doesn't seems to manage to run the start4.elf firmware.
Here are some logs from the EEPROM bootloader with GPT partitioning + autoboot.txt (so not working):
0.11 RPi: BOOTSYS release VERSION:5f18ffb6 DATE: 2024/07/30 TIME: 14:02:35
0.15 BOOTMODE: 0x06 partition 0 build-ts BUILD_TIMESTAMP=1722344555 serial dc324b5f boardrev b03140 stc 515817
0.33 PM_RSTS: 0x00001000
0.33 part 00000000 reset_info 00000000
0.36 uSD voltage 3.3V
0.61 Initialising SDRAM 'Samsung' 16Gb x1 total-size: 16 Gbit 3200
0.65 DDR 3200 0 0 16 152
1.96 OTP boardrev b03140 bootrom 48b0 48b0
1.97 Customer key hash 0000000000000000000000000000000000000000000000000000000000000000
1.05 VC-JTAG unlocked
1.80 RPi: BOOTLOADER release VERSION:5f18ffb6 DATE: 2024/07/30 TIME: 14:02:35
1.84 BOOTMODE: 0x06 partition 0 build-ts BUILD_TIMESTAMP=1722344555 serial dc324b5f boardrev b03140 stc 1784982
1.20 Boot mode: SD (01) order f2564
1.35 SD HOST: 200000000 CTL0: 0x00800000 BUS: 400000 Hz actual: 390625 HZ div: 512 (256) status: 0x1fff0000 delay: 276
1.46 SD HOST: 200000000 CTL0: 0x00800f00 BUS: 400000 Hz actual: 390625 HZ div: 512 (256) status: 0x1fff0000 delay: 276
1.55 EMMC
2.55 SD retry 1 oc 0
2.79 SD HOST: 200000000 CTL0: 0x00800000 BUS: 400000 Hz actual: 390625 HZ div: 512 (256) status: 0x1fff0000 delay: 276
2.91 OCR c0ff8080 [0]
CID: 00150100424a5444345203a85aba4718
2.10 SD HOST: 200000000 CTL0: 0x00800f04 BUS: 25000000 Hz actual: 25000000 HZ div: 8 (4) status: 0x1fff0000 delay: 4
2.21 SD HOST: 200000000 CTL0: 0x00800f04 BUS: 50000000 Hz actual: 50000000 HZ div: 4 (2) status: 0x1fff0000 delay: 2
2.30 MBR: 0x00000001,15974433 type: 0xee
2.32 MBR: 0x00000000, 0 type: 0x00
2.36 MBR: 0x00000000, 0 type: 0x00
2.40 MBR: 0x00000000, 0 type: 0x00
2.44 Trying partition: 0
2.46 GPT 0000000000000000000000004d9b9ef0 000000001 000f3c021 num-partitions 128 entry-size 128
2.55 GPT partition: 0 ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 000002000..000081fff
2.62 Matched GUID bootable-part-idx 0 want partition 0
2.67 type: 16 lba: 8192 'mkfs.fat' ' V ^ ' clusters 130999 (4)
2.73 rsc 4 fat-sectors 128 root dir cluster 1 sectors 32 entries 512
2.80 FAT16 clusters 130999
2.84 Read autoboot.txt bytes 64 hnd 0x2
2.86 Select partition rsts 0 C(boot_partition) 2 EEPROM config 0 result 2
2.93 Trying partition: 2
2.96 GPT 0000000000000000000000004d9b9ef0 000000001 000f3c021 num-partitions 128 entry-size 128
2.04 GPT partition: 0 ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 000002000..000081fff
2.11 Matched GUID bootable-part-idx 0 want partition 1
2.16 GPT partition: 1 ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 000082000..0000a1fff
2.23 Matched GUID bootable-part-idx 1 want partition 1
2.29 type: 16 lba: 532480 'mkfs.fat' ' V ^ ' clusters 32695 (4)
2.35 rsc 4 fat-sectors 128 root dir cluster 1 sectors 32 entries 512
2.41 FAT16 clusters 32695
2.48 Read config.txt bytes 2489 hnd 0x1e77
2.50 [sdcard] pieeprom.upd not found
2.53 [sdcard] recover4.elf not found
2.57 [sdcard] recovery.elf not found
2.79 Read start4.elf bytes 2256224 hnd 0x25e1
2.81 Read fixup4.dat bytes 5434 hnd 0x1e7d
2.85 0x00b03140 0x00000000 0x00001fff
2.88 MEM GPU: 76 ARM: 948 TOTAL: 1024
2.57 Firmware: f4e2138c2adc8f3a92a3a65939e458f11d7298ba Feb 29 2024 12:24:53
2.90 Starting start4.elf @ 0xfec00200 partition 2
2.92 PCI0 reset
2.04 +
Nothing is printed after this
And here are some logs from the MBR partitioning + autoboot.txt version:
0.11 RPi: BOOTSYS release VERSION:5f18ffb6 DATE: 2024/07/30 TIME: 14:02:35
0.15 BOOTMODE: 0x06 partition 0 build-ts BUILD_TIMESTAMP=1722344555 serial dc324b5f boardrev b03140 stc 515817
0.33 PM_RSTS: 0x00001000
0.33 part 00000000 reset_info 00000000
0.36 uSD voltage 3.3V
0.61 Initialising SDRAM 'Samsung' 16Gb x1 total-size: 16 Gbit 3200
0.65 DDR 3200 0 0 16 152
1.96 OTP boardrev b03140 bootrom 48b0 48b0
1.98 Customer key hash 0000000000000000000000000000000000000000000000000000000000000000
1.05 VC-JTAG unlocked
1.80 RPi: BOOTLOADER release VERSION:5f18ffb6 DATE: 2024/07/30 TIME: 14:02:35
1.85 BOOTMODE: 0x06 partition 0 build-ts BUILD_TIMESTAMP=1722344555 serial dc324b5f boardrev b03140 stc 1785188
1.20 Boot mode: SD (01) order f2564
1.35 SD HOST: 200000000 CTL0: 0x00800000 BUS: 400000 Hz actual: 390625 HZ div: 512 (256) status: 0x1fff0000 delay: 276
1.46 SD HOST: 200000000 CTL0: 0x00800f00 BUS: 400000 Hz actual: 390625 HZ div: 512 (256) status: 0x1fff0000 delay: 276
1.55 EMMC
2.55 SD retry 1 oc 0
2.79 SD HOST: 200000000 CTL0: 0x00800000 BUS: 400000 Hz actual: 390625 HZ div: 512 (256) status: 0x1fff0000 delay: 276
2.91 OCR c0ff8080 [0]
CID: 00150100424a5444345203a85aba4718
2.10 SD HOST: 200000000 CTL0: 0x00800f04 BUS: 25000000 Hz actual: 25000000 HZ div: 8 (4) status: 0x1fff0000 delay: 4
2.21 SD HOST: 200000000 CTL0: 0x00800f04 BUS: 50000000 Hz actual: 50000000 HZ div: 4 (2) status: 0x1fff0000 delay: 2
2.30 MBR: 0x00002000, 524288 type: 0x0c
2.32 MBR: 0x00082000, 131072 type: 0x0c
2.36 MBR: 0x000a2000, 131072 type: 0x0c
2.40 MBR: 0x000c3ffe,15204354 type: 0x0f
2.44 Trying partition: 0
2.47 type: 16 lba: 8192 'mkfs.fat' ' V ^ ' clusters 130999 (4)
2.53 rsc 4 fat-sectors 128 root dir cluster 1 sectors 32 entries 512
2.59 FAT16 clusters 130999
2.64 Read autoboot.txt bytes 64 hnd 0x2
2.66 Select partition rsts 0 C(boot_partition) 2 EEPROM config 0 result 2
2.72 Trying partition: 2
2.75 type: 16 lba: 532480 'mkfs.fat' ' V ^ ' clusters 32695 (4)
2.81 rsc 4 fat-sectors 128 root dir cluster 1 sectors 32 entries 512
2.88 FAT16 clusters 32695
2.94 Read config.txt bytes 2489 hnd 0x1e77
2.97 [sdcard] pieeprom.upd not found
2.00 [sdcard] recover4.elf not found
2.03 [sdcard] recovery.elf not found
2.25 Read start4.elf bytes 2256224 hnd 0x25e1
2.28 Read fixup4.dat bytes 5434 hnd 0x1e7d
2.31 0x00b03140 0x00000000 0x00001fff
2.35 MEM GPU: 76 ARM: 948 TOTAL: 1024
2.04 Firmware: f4e2138c2adc8f3a92a3a65939e458f11d7298ba Feb 29 2024 12:24:53
2.37 Starting start4.elf @ 0xfec00200 partition 2
2.39 PCI0 reset
2.50 +
U-Boot 2024.01 (Jan 08 2024 - 15:37:48 +0000)
DRAM: 948 MiB (effective 1.9 GiB)
RPI Compute Module 4 (0xb03140)
Core: 212 devices, 16 uclasses, devicetree: board
MMC: mmcnr@7e300000: 1, mmc@7e340000: 0
Loading Environment from MMC... *** Warning - bad CRC, using default environment
...
I can't see any meaningful difference. Is it known for autoboot.txt to not work with GPT partitioning? I expected this to work since with GPT booting into U-boot for example if it's on the first partition worked flawlessly.