Radxa Zero

Cute!

Supported since Batocera v33, this little chip is a micro-powerhouse!

The Radxa Zero comes with a u-boot from the factory that does not allow booting off the micro-SD card, so it is recommended instead to install Batocera to the eMMC storage. Incidentally, this means you can reserve the eMMC entirely for Batocera while using a larger micro-SD card to act as your userdata partition. Organization!

You will need a computer with Python 3 (including PIP3) installed.

  1. Remove any Micro-SD card that you might have in the Radxa Zero.
  2. Connect the Radxa Zero to the computer via USB2/PWR OTG USB-C port (can use a USB-C to USB-C or USB-C to full-sized USB-A cable). This is the port closest to the corner.
  3. Press the USB button underneath the board. The Radxa is now attempting to connect to your computer as a USB gadget (OTG).
  4. Download the latest nightly build of Batocera (despite its name, it's pretty stable): https://batocera.org/users/liberodark/nightly/radxa/batocera-s905gen2-33-20210929.img.gz
  1. Install python3-pip for your distribution.
  2. Run the following:
    sudo pip3 install pyamlboot
    wget https://dl.radxa.com/zero/images/loader/rz-udisk-loader.bin
    sudo boot-g12.py rz-udisk-loader.bin
  3. Check lsusb, you should now have a device that reads Bus 001 Device 082: ID 1b8e:2200 Amlogic, Inc.
  4. Run lsblk or blkid to discover the mount point of your Radxa Zero (it is now acting like an ordinary USB storage device).
  5. Run the following:
    dd if=batocera-s905gen2-<XX-XXXXXXXX>.img of=/dev/<your radxa mount point>
  6. Reboot your Radxa and enjoy! :-D

If on Windows you may have to install the driver using Zadig:

  1. Install and run Zadig.
  2. Confirm that the device is GX-CHIP and that its USB ID is 1B8E:C003.
  3. Choose libusb-win32 as the driver and install it.
  4. Right-click android_winusb.inf and click Install.
  5. Reboot Windows. You always have to reboot Windows to do anything…

When you no longer have an “unknown USB device” attached and it's coming up as the Radxa, continue on with the following:

  1. Ensure the latest Python 3 is installed with the PIP3 module (check with pip3 version while inside an interactive Python 3 environment) and accessible in your command prompt from any directory.
  2. Download rz-udisk-loader.bin and store it somewhere easy to access.
  3. Open a command prompt with administrative privileges and run the following in the same directory you saved the BIN file to:
    pip3 install pyamlboot
    boot-g12.py rz-udisk-loader.bin

    You can open a command prompt at the currently opened directory by holding [Shift] while right-clicking the white space in file explorer.

  4. At some point the Radxa's internal eMMC should have appeared as a regular USB storage device on your computer. Flash Batocera onto it as you would any other micro-SD card.
  5. Reboot your Radxa and enjoy. :-D

Flashing to eMMC as mentioned above is the recommended and easier method, if you're a beginner with these sorts of things it's best just to stick to that. However, should you be a tinkerer, and for whatever reason you want to leave the eMMC completely unused and boot directly off the micro-SD card, then this is for you.

This involves editing the eMMC, however only the bootloader will be flashed onto it. Batocera in its entirety will be flashed onto the micro-SD card.

  1. Flash Batocera onto the micro-SD card using an external reader.
  2. Connect the Radxa Zero to the computer via USB2/PWR OTG USB-C port (can use a USB-C-to-USB-C or USB-C-to-full-sized USB-A cable). This is the port closest to the corner.
  3. Press the USB button underneath the board.
  1. Install python3-pip for your distribution.
  2. Run the following:
    sudo pip3 install pyamlboot
    
    wget https://dl.radxa.com/zero/images/loader/factory-loader.img
    sudo boot-g12.py factory-loader.img 
    sudo fastboot flashing unlock_critical
    sudo fastboot flashing unlock
    
    wget https://dl.radxa.com/zero/images/loader/rz-fastboot-loader.bin
    sudo boot-g12.py rz-fastboot-loader.bin
    sudo fastboot erase bootloader
    sudo fastboot erase 0
    sudo fastboot erase 1
    
    wget https://dl.radxa.com/zero/images/loader/rz-udisk-loader.bin
    sudo boot-g12.py rz-udisk-loader.bin
    
    wget https://dl.radxa.com/zero/images/loader/u-boot.bin
    sudo dd if=u-boot.bin of=/dev/sdx bs=512 seek=1
  3. Reboot the Radxa to get into Batocera. :-D
  4. (Optional) Remove the downloaded files if you never intend to flash again.
  1. Ensure Python 3 is installed with the PIP3 module (check with pip3 version while inside an interactive Python environment) and accessible in your command prompt from any directory.
    • You may have to install the driver using Zadig:
      1. Install and run Zadig.
      2. Confirm that the device is GX-CHIP and that its USB ID is 1B8E:C003.
      3. Choose libusb-win32 as the driver and install it.
      4. Right-click android_winusb.inf and click Install.
  2. Navigate to the platform tools folder. With the default install location, it should be at C:\Program Files\Minimal ADB and Fastboot\platform tools\.
  3. Download the following files into that folder:
  4. Open a command prompt with administrative privileges and navigate to the platform tools folder:
    cd "C:\<path\to\platform tools\>"
  5. Run the following (you should be in the same directory as where you saved the rz-udisk-loader.bin file to):
    pip3 install pyamlboot
    boot-g12.py rz-udisk-loader.bin
    
    boot-g12.py factory-loader.img 
    fastboot flashing unlock_critical
    fastboot flashing unlock
    
    boot-g12.py rz-fastboot-loader.bin
    fastboot erase bootloader
    fastboot erase 0
    fastboot erase 1
    
    boot-g12.py rz-udisk-loader.bin
    
    dd if=u-boot.bin of=/dev/sdx bs=512 seek=1
  6. Reboot the Radxa to get into Batocera. :-D
  7. (Optional) Remove the downloaded files if you never intend to flash again.
  • hardware/radxa_zero.txt
  • Last modified: 2 years ago
  • by wizzo