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

Zero/install/eMMC

< Zero‎ | install
Revision as of 11:10, 1 December 2021 by RadxaYuntian (Talk | contribs)

    Radxa Zero >  Installation >  Install image to eMMC

How to install raw images to Radxa Zero eMMC

This guide describes how to install the raw images to Radxa Zero eMMC. Raw images is compared to amlupdate format image(which is a private image format). Raw images can be mount and open on host PCs. Most of the Linux images released are raw images. Android on the other hand contains images of its partitions, which result in many raw images that can't be flashed like Linux distro.

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
  • A supported Linux image, or
  • Android 9 image, which should be unzipped after downloading, and you will find files like this in the folder:
   $ ls
   android-info.txt  dtbo.img       flash-all.sh  product.img   vbmeta.img
   boot.img          dt.img         logo.img      recovery.img  vendor.img
   bootloader.img    flash-all.bat  odm.img       system.img

bootloader.img will be needed later to run Zero in fastboot mode.

Windows

Step 1: Wipe eMMC

Please follow this guide to wipe eMMC. Do not close RZ USB Boot Helper when you finish.

Step 2A: Flash Linux images

First download the RZ USB disk loader, select rz-udisk-loader.bin in RZ USB Boot Helper, and click Run.

Your computer should detect a new storage device after the code is loaded.

You can now flash your Linux image using balenaEtcher similar to flash microSD card. Except you don't have to insert a card this time. Choose the new device detected in Step 2 as your target drive and proceed as normal.

Step 2B: Flash Android 9

Select extracted bootloader.img in RZ USB Boot Helper, and click Run to run Radxa Zero in fastboot mode.

Then Open Windows PowerShell from the Start Menu and execute this command to install fastboot tool:

   iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/corbindavenport/nexus-tools/master/install.ps1'))

Execute flash-all.bat from extracted Android 9 image folder to flash all partitions to eMMC.

If Zero did not reboot automatically after flashing, you should reconnect USB cable to reboot it.

Linux & macOS

For Linux and macOS, we use amlogic boot tool to download the bootloader and boot the Zero into the USB Disk mode. This is to expose the eMMC to host PC as a USB Disk. Then we can use dd or other tools to write images to the USB Disk(eMMC).

Step 1: Wipe eMMC

Please follow [| this guide] to wipe eMMC. Depending on which image you want to flash, you may or may not power cycle your Radxa Zero in the end, so it is in the right mode for flashing.

Step 2A: Flash Linux images

Download the USB disk loader and run it on Zero

   wget https://dl.radxa.com/zero/images/loader/rz-udisk-loader.bin
   boot-g12.py rz-udisk-loader.bin

It should output:

Firmware Version :
ROM: 3.2 Stage: 0.0
Need Password: 0 Password OK: 1
Writing rz-udisk-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 082: ID 1b8e:2200 Amlogic, Inc. USB download gadget  Serial: AMLG12A-RADXA-ZERO

The Zero is in USB disk mode now, your computer should popup a new USB drive. On macOS you will get a disk not readable popup. Just click Ignore:

Rz-udisk-mac-popup.jpg

On Linux you will get following output from sudo dmesg:

[74292.229573] usb 1-10.2.3: new high-speed USB device number 84 using xhci_hcd
[74292.330483] usb 1-10.2.3: New USB device found, idVendor=1b8e, idProduct=c003, bcdDevice= 0.20
[74292.330487] usb 1-10.2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[74292.330488] usb 1-10.2.3: Product: GX-CHIP
[74292.330489] usb 1-10.2.3: Manufacturer: Amlogic
[74303.432510] usb 1-10.2.3: USB disconnect, device number 84
[74303.665204] usb 1-10.2.3: new high-speed USB device number 85 using xhci_hcd
[74303.769674] usb 1-10.2.3: New USB device found, idVendor=1b8e, idProduct=2200, bcdDevice=99.99
[74303.769678] usb 1-10.2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[74303.769679] usb 1-10.2.3: Product: USB download gadget
[74303.769680] usb 1-10.2.3: Manufacturer: Radxa
[74303.769681] usb 1-10.2.3: SerialNumber: AMLG12A-RADXA-ZERO
[74303.771008] usb-storage 1-10.2.3:1.0: USB Mass Storage device detected
[74303.771133] scsi host4: usb-storage 1-10.2.3:1.0
[74304.785353] scsi 4:0:0:0: Direct-Access     Linux    Radxa Zero UDisk  0ff PQ: 0 ANSI: 2
[74304.785506] sd 4:0:0:0: Attached scsi generic sg2 type 0
[74304.785679] sd 4:0:0:0: [sdc] 60749504 512-byte logical blocks: (31.1 GB/29.0 GiB)
[74304.785796] sd 4:0:0:0: [sdc] Write Protect is off
[74304.785798] sd 4:0:0:0: [sdc] Mode Sense: 0f 00 00 00
[74304.785916] sd 4:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[74304.833523]  sdc: sdc1
[74304.861751] sd 4:0:0:0: [sdc] Attached SCSI removable disk
[74305.424709] EXT4-fs (sdc1): recovery complete
[74305.425517] EXT4-fs (sdc1): mounted filesystem with writeback data mode. Opts: (null). Quota mode: none.

You can now use dd to write the raw image to the eMMC on Zero now.

   sudo dd if=/path/to/image of=/dev/new_dev bs=1M
   sync

Carefully Eject the Zero USB drive and unplug and plug the power, Zero should boot the new image now.

Step 2B: Flash Android 9

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.

Now execute flash-all.sh from your extracted Android folder to flash all partitions images to eMMC

   $ ./flash-all.sh 
   error: no devices/emulators found
   OKAY [  0.040s]
   Finished. Total time: 0.040s
   OKAY [  0.039s]
   Finished. Total time: 0.039s
   ...
   Finished. Total time: 0.038s
   Rebooting                                          OKAY [  0.002s]
   Finished. Total time: 0.454s

If Zero did not reboot automatically after flashing, you should reconnect USB cable to reboot it.