Skip to content

Radxa Zero - [09.08.2024, updated 13.11.2026]


Introduction

This guide installs Armbian on the eMMC of a Radxa Zero (Amlogic S905Y2).

The Zero's boot ROM can expose the eMMC to your PC as a USB drive. You erase the eMMC once, then write the complete Armbian image to it like an SD card. The image already contains the matching U-Boot, so no splitting, fastboot or custom bootloader is needed.

Why erase first

A factory Zero keeps its own U-Boot in the eMMC boot partition, and the boot ROM prefers it over the one in the Armbian image. Erasing removes it.

Prerequisites / Tools

  • Armbian image for Radxa Zero from armbian.com
  • pyamlboot for boot-g12.py (pip install pyamlboot)
  • radxa-zero-erase-emmc.bin and rz-udisk-loader.bin from Radxa (Radxa docs)
  • A USB-C data cable

Step 1 - Erase the eMMC

Hold the USB BOOT button while plugging the Zero into your PC (maskrom mode), then:

sudo boot-g12.py radxa-zero-erase-emmc.bin

Step 2 - Expose the eMMC as a USB drive

Enter maskrom mode again (hold USB BOOT, replug) and load the USB disk loader:

sudo boot-g12.py rz-udisk-loader.bin

The eMMC now shows up as a new disk on your PC. Find it with lsblk.

Step 3 - Write Armbian

Danger

Double-check the device name. dd overwrites whatever you point it at.

xz -dc Armbian_*_Radxa-zero_*.img.xz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync

Or use balenaEtcher with the image and the new disk.

Step 4 - Boot

Unplug the Zero, plug it into power and it boots Armbian from the eMMC.

Alternative: install from SD card

After Step 1 you can also write Armbian to a microSD card, boot from it and run armbian-install to copy the system to the eMMC.

Old method (2024): fastboot with a custom U-Boot

Step 1 - Download Armbian

Grab the Armbian image for Radxa Zero from armbian.com and set its file name:

IMG=Armbian_24.5.1_Radxa-zero_noble_current_6.6.31.img

Step 2 - Split the Armbian Image

Extract the first 4 MB (8192 sectors of 512 bytes) — this is the original boot section that will be combined with the new u-boot.bin:

dd if=$IMG of=img_stripped bs=512 count=8192

Extract everything past the boot section — this is the rootfs that will be written to eMMC:

dd if=$IMG of=skipped_armbian.img bs=512 skip=8192

Step 3 - Erase eMMC

Hold the USB BOOT button while connecting USB-OTG to enter maskrom mode, then:

boot-g12.py radxa-zero-erase-emmc.bin

Step 4 - Load Fastboot Loader

boot-g12.py rz-fastboot-loader.bin

Step 5 - Build the Boot Section

Concatenate the extracted boot section with the new u-boot.bin:

cat img_stripped u-boot.bin > bootloader.bin

Step 6 - Flash the Bootloader to mmc0boot0

fastboot flash mmc0boot0 bootloader.bin

Step 7 - Flash Armbian to eMMC

fastboot flash mmc0 skipped_armbian.img

Step 8 - Reboot

fastboot reboot