Please enable javascript, or click here to visit my ecommerce web site powered by Shopify.
Jump to: navigation, search

Zero/dev/maskrom

< Zero‎ | dev
Revision as of 01:41, 6 December 2021 by RadxaYuntian (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
 Radxa Zero >  Development Guide >  Enter maskrom mode

Work In Progress...

This guide describes how to completely erase Radxa Zero's eMMC. Unlike normal PC where they have a well established and documented way of booting, in embedded world it is a bit chaotic and everyone carries their own bootloader and boot sequence. As such it's best to wipe the eMMC completely and have a clean environment before flashing a new image to eMMC.

Requirement

  • Radxa Zero
  • A PC/laptop running Windows, Linux, or macOS
  • USB A to C cable or C to C cable, depending on your host

Windows

Step 1: Install drivers

Press and hold the USB boot button on the Zero, plug in the USB to PC.

Download and install Zagdig. Confirm that the device is GX-CHIP, USB ID is 1B8E:C003 and choose libusb-win32, then click Install Driver.

Zagdig-libusb.png

Download the Android driver from Google.

Unzip it and right click the .inf file to install the driver.

Install-win-android-driver.png

Step 2: Use RZ USB helper

RZ USB helper is a Windows tool made by Radxa for easy OS installing. Download it from Radxa DL and unzip everything to a convenient location.

First locate the USB boot button on the Zero:

Zero usb boot.jpg

Hold the button while connect you Radxa Zero to PC. Maskrom mode should be detected by the tool.

Rz-usb-helper-maskrom.png

Then select the factory-loader.img from the unzipped folder and click Run.

Rz-usb-helper-fastboot.png

Finally, click Erase to erase the eMMC completely.

Rz-usb-helper-erase.png

Linux & macOS

For Linux and macOS, we use amlogic boot tool to download the bootloader and boot the Zero into the fastboot mode to erase the eMMC.

Step 1: Install pyamlboot tool

macOS:

   $ brew install python lsusb libusb
   $ pip3 install pyamlboot

Linux:

   $ sudo apt install python3-pip
   $ sudo pip3 install pyamlboot

Here we are using apt package manager. Please refer to your distro's documentation for help on your distro's package manager.

Step 2: Install fastboot

Nexus Tools is an installer for the Android SDK Platform Tools package, which includes ADB, Fastboot, and other applications. We use Nexus Tools to install fastboot. If you already have fastboot installed, you can skip this step.

   $ bash <(curl -s https://raw.githubusercontent.com/corbindavenport/nexus-tools/master/install.sh)

After it finishes,

   $ which fastboot

should return you the install location.

Step 3: Boot into fastboot mode

Press and hold the USB boot button on Zero, plug in it to your computer. lsusb should see something like:

   Bus 001 Device 075: ID 1b8e:c003 Amlogic, Inc. GX-CHIP

Download the fastboot loader and run it on Zero

   $ wget https://dl.radxa.com/zero/images/loader/rz-fastboot-loader.bin
   $ boot-g12.py rz-fastboot-loader.bin # macOS
   $ sudo boot-g12.py rz-fastboot-loader.bin # Linux

It should output something similar to this:

Firmware Version :
ROM: 3.2 Stage: 0.0
Need Password: 0 Password OK: 1
Writing rz-fastboot-loader.bin at 0xfffa0000...
[DONE]
Running at 0xfffa0000...
[DONE]
AMLC dataSize=16384, offset=65536, seq=0...
[DONE]
AMLC dataSize=49152, offset=393216, seq=1...
[DONE]
AMLC dataSize=16384, offset=229376, seq=2...
[DONE]
AMLC dataSize=49152, offset=245760, seq=3...
[DONE]
AMLC dataSize=49152, offset=294912, seq=4...
[DONE]
AMLC dataSize=16384, offset=65536, seq=5...
[DONE]
AMLC dataSize=1406320, offset=81920, seq=6...
[DONE]
[BL2 END]

Now lsusb should show the following device:

   Bus 001 Device 076: ID 18d1:0d02 Google Inc. USB download gadget  Serial: 1234567890
Step 4: Wipe the eMMC

macOS:

   $ fastboot devices
   1234567890	fastboot
   $ fastboot flashing unlock_critical
   $ fastboot flashing unlock
   $ fastboot erase bootloader
   $ fastboot erase bootloader-boot0
   $ fastboot erase bootloader-boot1
   $ fastboot reboot # reboot into maskrom mode

Linux: Run sudo -i and exit before and after the macOS command sequences.

Power cycle your Zero. lsusb should show the following:

   Bus 001 Device 075: ID 1b8e:c003 Amlogic, Inc. GX-CHIP

the eMMC is wiped and Zero is in maskrom mode now. You can install other OS to eMMC now.

If you want to flash Android, please follow the step 1-3 again to enter fastboot mode, which is required for flashing Android. You can then follow the guide to continue.