In the Radxa Zero wiki there is an article describing how to build u-boot (and kernel), is something similar available for the Zer0 3W/E?
I would already be happy knowing which u-boot repo and branch and which config to use.
U-boot for Radxa Zero 3W/E
We have migrated to a new documentation site, and the introduction page for kernel/U-Boot compilation is here.
TL;DR: we created a script that handles kernel/U-Boot compilation for all our products in a unified way. This is necessary since we now build those in the cloud (GitHub Workflows), and it is not manageable to maintain separate build scripts in all different repos.
The source code info is defined in fork.conf
. Currently all but RK3588 based products are using mainline based U-Boot.
We follow upstream convention so you will see separate defconfig for each supported products. The exact rule is defined here.
I have a very early home brewn image (volumio) booting a factory new Zero 3W from an SD card with half the boot script still missing (still developing).
But before I continue with that, it seems it is always starting the u-boot from eMMC (or is SPI?). It shows spl bootloader and u-boot from October, whereas mine is from 05.12.23. I did flash my versions to the SD card (same binaries and offsets as you would do with the rock 3a). Does that make sense, is it expected behavior with a factory new board?
Rockchip has a fixed boot order of SPI, eMMC, microSD, and fallback to Maskrom mode when it could not find a U-Boot SPL (Secondary Program Loader). Once the U-Boot SPL is loaded by SoC, it will search U-Boot proper in its own precomplied order, which can be different from the SoC order and prefer microSD first. In general though it is not recommended to mix and match U-Boot SPL and U-Boot proper.
Once you are booted in your U-Boot console you can use mmc erase
to wipe eMMC. That should fix it for you.