Zero Fails to boot up

My Zero 2GB would sometimes fails to boot up into kernel, but enters uboot.
Seems fails to find mmc partitions.
The failure rate is like 1/20times.

UART LOG attached here,

U-Boot 2021.07-24129-g105a2deb65 (Dec 14 2021 - 14:20:39 +0800) radxa-zero

Model: Radxa Zero
SoC: Amlogic Meson G12A (S905Y2) Revision 28:c (30:2)
DRAM: 2 GiB
MMC: sd@ffe03000: 0, sd@ffe05000: 1, mmc@ffe07000: 2
Loading Environment from nowhere… OK
In: serial
Out: serial
Err: serial
Net: Net Initialization Skipped
No ethernet found.
Hit any key to stop autoboot: 0
Card did not respond to voltage select! : -110
Card did not respond to voltage select! : -110
switch to partitions #0, OK
mmc2(part 0) is current device
Scanning mmc 2:1…
Found U-Boot script /boot.scr
** No partition table - mmc 2 **
Couldn’t find partition mmc 2:1
Can’t set block device

Executing script at 08000000

Wrong image format for “source” command
SCRIPT FAILED: continuing…
** No partition table - mmc 2 **
Couldn’t find partition mmc 2:1
** No partition table - mmc 2 **
Couldn’t find partition mmc 2:1
** No partition table - mmc 2 **
Couldn’t find partition mmc 2:1
** No partition table - mmc 2 **
Couldn’t find partition mmc 2:1
** No partition table - mmc 2 **
Couldn’t find partition mmc 2:1
** No partition table - mmc 2 **
Couldn’t find partition mmc 2:1
** No partition table - mmc 2 **
Couldn’t find partition mmc 2:1
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Card did not respond to voltage select! : -110
Scanning disk sd@ffe03000.blk…
Disk sd@ffe03000.blk not ready
Card did not respond to voltage select! : -110
Scanning disk sd@ffe05000.blk…
Disk sd@ffe05000.blk not ready
Scanning disk mmc@ffe07000.blk…
** fs_devread read error - block
Failed to mount ext2 filesystem…
** Unrecognized filesystem type **
Found 1 disks
No EFI system partition
BootOrder not defined
EFI boot manager: Cannot load any image
** No partition table - mmc 2 **
Couldn’t find partition mmc 2:1
starting USB…
Bus usb@ff500000: Register 3000140 NbrPorts 3
Starting the controller
USB XHCI 1.10
scanning bus usb@ff500000 for devices… 9 USB Device(s) found
scanning usb for storage devices… 0 Storage Device(s) found

Device 0: unknown device
No ethernet found.
missing environment variable: pxeuuid
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-meson-u200
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-meson
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm
No ethernet found.
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default
No ethernet found.
Config file not found
No ethernet found.
No ethernet found.
=>
=>
=>

This is a known issue that’s been fixed in the Radxa uboot fork. I’m not sure if which prebuilt images it’s made its way into at this point, but you can build it yourself with the instructions in the wiki: https://wiki.radxa.com/Zero/dev/u-boot

Note though that there is an error in step 3. The first command in step 3 should be:
export CROSS_COMPILE=/opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf/bin/aarch64-none-elf-

Yeah we fixed it in June. Download the latest image please.