Debian won't boot on new Radxa Zero

I received a new Radxa Zero board (V1.51, 4GB RAM, 32GB eMMC) and am unable to get it to boot the current Debian release (20220801-0213). On another board I received last year (V1.51, 4GB RAM, 16GB eMMC) I don’t have this issue. When I boot up the unit after installing the OS, I see a string of error messages including “missing environment variable: bootfile”. I copied the full serial output below.

The installation steps I am following are to erase the eMMC using steps here, then installing the Debian image using dd as described here.

Are there any suggestions on what try next?

U-Boot 2021.07-24136-g50c984a15b (Jun 28 2022 - 21:00:58 +0800) radxa-zero

Model: Radxa Zero
SoC:   Amlogic Meson G12A (S905Y2) Revision 28:c (30:2)
DRAM:  3.8 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.
starting USB...
Bus usb@ff500000: Register 3000140 NbrPorts 3
Starting the controller
USB XHCI 1.10
scanning bus usb@ff500000 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
Card did not respond to voltage select! : -110
Card did not respond to voltage select! : -110
unable to select a mode : -5

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.
=>

Same exact problem with my zero. I was able to install Armbian 22.08.01 from the the official repo and still USB otg doesn’t work. All other images I tried showed the same error. This problem seems to be related with the emmc module and udisk.

Extremely frustrating. I hope someone takes a look into it. The issues with these devices are just astonishing…

Got it, thanks for confirming – unfortunate that this isn’t just a one-off issue with my board. I’ll give Armbian a shot, though I was hoping to get the exact same Debian setup I used on my first board.

Have you had any better luck with other SKUs? Wondering if I should just stick to the 4GB RAM with 16GB eMMC SKU that originally worked for me.

Yeah, it never is a one-off issue with these boards it seems.

Didn’t try other SKUs but the amount of issues found here is astonishing. Little to no support from devs these days, as well as reports of untested builds, broken u-boot and even hardware failure. FYI, I have a 4GB RAM with 16GB eMMC SKU acquired in January.

Tried a bunch of stuff to fix these errors, including rebuilding the u-boot firmware. Nothing works. I acquired the zero for a server lab to later jump on the ship of the ROCKs, but at this point I think I will just end up selling it.

Ok, I found the issue.

Turns out u-boot is broken on new devices. Mine came with a September 2022 release. You will have to re-flash a early version and the documentation here is confusing, so here it is:

After installing your desired Linux image, don’t uplug the device and flash u-boot to storage:

wget https://dl.radxa.com/zero/images/loader/u-boot.bin.sd.bin
sudo dd if=u-boot.bin.sd.bin of=/dev/sdX bs=1 count=444
sudo dd if=u-boot.bin.sd.bin of=/dev/sdX bs=512 skip=1 seek=1

Refer to the uboot documentation

You can mark this as solved, and hopefully one day someone will look into these issues…

1 Like

Great! That worked. Thanks much for the help – I think I’d tried flashing u-boot previously but might have had on old u-boot.bin.sd.bin on my machine from last year. I’m now able to get it booted.

The next issue I see (which again I never faced with my last unit): no HDMI. If I boot with an HDMI display attached, I see the pre-kernel log messages on the display, but I never see the desktop appear. Looking through the u-boot log messages, I noticed that u-boot was failing to parse the device tree:

Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
1:      kernel-5.10.69-12-amlogic-g98700611d064
Retrieving file: /initrd.img-5.10.69-12-amlogic-g98700611d064
Retrieving file: /vmlinuz-5.10.69-12-amlogic-g98700611d064
append: earlyprintk console=ttyAML0,115200 console=tty1 rw rootfstype=ext4 init=/sbin/init rootwait swiotlb=1 coherent_pool=1m  root=UUID=730575af-8654-46cc-a99d-231c6837336d
Retrieving file: /dtbs/5.10.69-12-amlogic-g98700611d064/amlogic/amlogic/meson-g12a-radxa-zero.dtb
** Unable to read file /dtbs/5.10.69-12-amlogic-g98700611d064/amlogic/amlogic/meson-g12a-radxa-zero.dtb **

After some digging through the forums, I found this comment that suggests removing /boot/extlinux completely, to force u-boot to use uEnv.txt instead. I did that, and now seem to be able to boot properly with no errors in u-boot and HDMI working. I’m confused why I never had this issue with my last unit, on which I installed the exact same OS release. Does the /boot/extlinux/extlinux.conf file get installed as part of the u-boot reflash? If so, it seems like something that needs to be fixed so avoid this manual workaround.

In any case, I’m going to continue setting this unit up the same way as my last one and see if I run into any additional issues.

Oh yeah, there’s also the issue with extlinux for these build. Would honestly recommend sticking to Armbian and nothing else. All of Radxa builds were utterly hell to setup and full of broken modules, especially regarding network and OTG. The project seems fairly abandoned at this point.

These are all my tips from the brief experience I had with this device. Good luck with you setup.

1 Like