Make Android SD Card to Startup System

Update time:2018-01-12 Views:289

Foreword

This article describes how to make an Android SD card to boot system.

Prepare

  • ROC-RK3328-CC Development board

  • Firmware

  • Windows Host Computer

  • SD_Firmware_Tool

Please refer to 《Build Kernel》 and 《Build Ubuntu Rfs》 instructions to compile partition images, or you can download here to obtain a unified firmware.

Process of Making Android Boot Card

RK provides a  SD_Firmware_Tool for SD card booting based on Windows, download link SD_Firmware_Tool,   and you can find the latest version of  RKTools / windows / SD_Firmware_Tool._v1.46.zip  file in the SDK.

As shown below,  first select the removable device, then check the "SD boot", and finally  click the "Select Firmware" button to select the firmware you want to  upgrade.

Note that the generic  name of the RK3328 Android 7.1 firmware is  "ROC-RK3328-CC_Android7.1.X_xxxxxx.img", where "X" indicates a  subsequent version of the Android 7.1 firmware, and "xxxxxx"  indicates the date of the firmware packaged (Years-Month-Day). In the current link given in the Android part of the unified firmware,  the ROC-RK3328-CC_Android7.1.2_171222.img firmware and the ROC-RK3328-CC_Android7.1.2_SD_171222.img firmware are the same firmware,  and the user can choose two of it to make the Android boot card.


rk3328-uboot使用图3.png


then click "Create" button,wait for the Android SD card boot system to be completed


rk3328-uboot使用图2.png


Remove the card, and then insert it into the ROC-RK3328-CC TF card slot, finally power on, the board can be restart.

Linux

If you want to update the partition image into the SD card separately under Linux, you can refer to the following commands:

sudo dd if=uboot.img     of=/dev/sdb seek=$(((0x00002000 + 0x00002000))) ibs=1M conv=sync,fsync
sudo dd if=trust.img     of=/dev/sdb seek=$(((0x00004000 + 0x00004000))) ibs=1M conv=sync,fsync
sudo dd if=misc.img      of=/dev/sdb seek=$(((0x00002000 + 0x00008000))) ibs=1M conv=sync,fsync
sudo dd if=resource.img  of=/dev/sdb seek=$(((0x00007800 + 0x0000A800))) ibs=1M conv=sync,fsync
sudo dd if=kernel.img    of=/dev/sdb seek=$(((0x00010000 + 0x00012000))) ibs=1M conv=sync,fsync
sudo dd if=boot.img      of=/dev/sdb seek=$(((0x00010000 + 0x00022000))) ibs=1M conv=sync,fsync
sudo dd if=recovery.img  of=/dev/sdb seek=$(((0x00010000 + 0x00032000))) ibs=1M conv=sync,fsync
sudo dd if=system.img    of=/dev/sdb seek=$(((0x00300000 + 0x000AC000))) ibs=1M conv=sync,fsync