A311D Pocket Reform: released 2026-01-28 flash image fails BL33 check and enters reset loop

The released Pocket Reform u-boot flash image for A311D/BPI-CM4 (tag 2026-01-28) seems to be broken.

https://source.mnt.re/reform/reform-a311d-uboot/-/jobs/18023

c96ea54a1947ce59cc48b1cc2d7d1dce494d8ff9

meson-g12b-bananapi-cm4-mnt-pocket-reform-flash.bin

Observed behavior (verified over UART):

  • Booting from either eMMC or SD with this image loops at early boot:
    • Load BL3X ...
    • BL33 CHK: 0x000000ff
    • reset...
  • System never reaches normal U-Boot runtime.
  • https://pastebin.com/NfvW4Q8C

Comparison:

  • flash.bin (a locally built image from same tag) boots.
  • flash.bin (released artifact) fails with the BL33 reset loop above.
  • Binary/FIP diff shows the break is in BL33 packaging:
    • BL33 entry size in working image: 0x0d1400
    • BL33 entry size in released image: 0x0d0a00 (exactly 0xA00 smaller)
    • Other FIP entries are identical.
  • Final u-boot image sizes match this delta:
    • working: 1594880 bytes
    • broken: 1592320 bytes

My only real concern here is that if someone uses reform-tools to update emmc on the A311D they will need a fair amount of embedded systems engineering knowledge and a carrier board to get their A311D working again. It took me on a stroll down memory lane, but I want to save unsuspecting folks the journey. 🙂