IoTGateway/BSP/Android/Android BSP User Guide 7.1.2 for rk

Jump to: navigation, search

Android BSP Version

Android 7.1.2

Build Environment on Host

Currently, we adopt Docker as build environment.

You can get the latest version of advrisc/u16.04-imx6abv5 Docker image for developing Rockchip RK3399 projects.

Docker command:

docker pull advrisc/u16.04-imx6abv5:20170523 

Run Docker example

Step1 Run docker container (example)

 $ docker run -it --name android_n7 -v /home/bsp/myandroid:/home/adv/BSP:rw advrisc/u16.04-imx6abv5:20170523 /bin/bash
Step2 In container, change the user. (example)
 adv@7cc0fa834366:~$ sudo chown adv:adv -R BSP

Getting Android Source Code

To pull down the Android source tree to your working directory from the repositories as specified in the default manifest

$ mkdir myandroid
$ mkdir bin
$ cd myandroid/
$ curl > ../bin/repo
some time will be get the error message error [Errno 101] Network is unreachable
you can try
$ git clone
$ cp -a git-repo/repo ../bin 
$ chmod a+x ../bin/repo
$ ../bin/repo init -u -b android-7.1.2
$ ../bin/repo init -u -b android-mid
or for deviceON + imm
$ ../bin/repo init -u -b android-imm
or for DS211
$ ../bin/repo init -u -b android-7.1.2_r6_ds211
or for Chengdu Airport
$ ../bin/repo init -u -b android-7.1.2_r6_ds211cd
$ ../bin/repo sync

Build Instructions

$ export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
$ export PATH=$JAVA_HOME/bin:$PATH
$ export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

Build U-boot

$ cd u-boot
$ make rk3399_box_defconfig
$ make ARCHV=aarch64 -j12

Build Kernel

Build for DS-100 platform

$ cd kernel
$ make ARCH=arm64 rockchip_ds100_defconfig
$ make ARCH=arm64 rk3399-ds100.img -j16

Build for DS-100Lite platform

$ cd kernel
$ make ARCH=arm64 rockchip_ds100l_defconfig
$ make ARCH=arm64 rk3399-ds100l.img -j16

Build for DS-211 platform

$ cd kernel
$ make ARCH=arm64 rockchip_ds211_defconfig
$ make ARCH=arm64 rk3399-ds211.img -j16

Build Android

$ source build/ 
$ lunch rk3399_box-userdebug 
$ make -j4 2>&1 | tee build-log.txt

Push all image to rockdev folder

$ ./
All image in rockdev/Image-rk3399_box ./ at previous step will repack boot.img and system.img, and copy other related image files to the rockdev/Image-rk3399_box/ directory. The common image files are listed below:
# boot.img : Android's initramfs, to initialize and mount system partition. 
# kernel.img : Kernel image.
# misc.img : Misc partition image, to switch boot mode and pass parameter in recovery mode.
# recovery.img : Recovery mode image.
# resource.img : Resource image, containing boot logo and kernel's device tree info.
# system.img : System partition image with ext4 filesystem format.
# trust.img :File about sleep
# RK3399MiniLoaderAll_V1.05.bin :Loader
# uboot.img :uboot


1. Download adb tool in Windows system. Download path : *Platform-tools-windows

2. Check ADB : adb devices

3. ADB Connect : adb shell

Create OTA zip

Step1 After Build Android, you will be create image for OTA update.

$ ./ ota
Step2 Package the
$ make otapackage
Step3Rename the out/target/product/rk3399_box/ to
$mv out/target/product/rk3399_box/

Step4Copy the to SD or USB disk.

Step5Follow Android update.

How to do about update DS100 and DS100L Platform?

Download and

Step1 Connect with the OTG port and PC.





Step2 Double click DriverInstall.


Step3 ADB or Debug console, send command "reboot bootloader"


Step4 Select the image path.


Step5 Finish the update


How to do about test LAN1 and LAN2?

DS100 : LAN1 support DHCP , LAN2 support Static IP

LAN2 setting static ip example

$ ip rule add from all lookup main pref 9999
$ ifconfig eth1 netmask

How to do about update form USB or SD card?

Step1 Create the OTA

$ cd ~/rk3399/
$ make -j4
$ make otapackage -j4
$ ./ ota
Step2 Rename rk3399/out/target/product/rk3399_box/ to Step3 Copy to the SD or USB disk
$ mv
Step4 Insert the USB to DS100 or DS100Lite


Step5 Choose the Install





SD Card Update Solution

RK3399 provide the tools for create the SD Card Update Solution.

Step1 Download tool and

Download path :

Step2 Copy the to Linux OS PC and Unzip it. You will get the rockdev folder.

$ unzip
$ cd rockdev
$ sudo chmod -R 755 *
Step3 Create the new system image and boot image and revoery image. "./ ota"
$ cd ~/rk3399/
$ make -j4
$ ./ ota
Step4 Copy the "MiniLoaderAll.bin parameter.txt uboot.img trust.img misc.img kernel.img resource.img boot.img recovery.img system.img" to rockdev/Image Step5 Modify the MiniLoader.bin path. (./rkImageMaker -RK330C Image/MiniLoaderAll.bin Image/update.img update.img -os_type:androidos || pause)
$ cd rockdev
$ vim
Step6 Run
$ ./
Step7 Get ok message : Making update.img OK.


Step8 Unzip in Windows OS and Copy the update.img to SD_Firmware_Tool

Step9 Please follow the picture (Red word).            

Step1 Choose the SD device.

Step2 Choose the "firmware update"

Step3. Choose the update.img path

Step4. Create the update SD

Sd tool.jpg

Step10 Create the Update SD card Success

Sd tool success.jpg

Step11 Please power off in DS100Lite.

Step12 Insert the SD card.


Step13 Power on in DS100Lite.

Step14 Installing system update


Step15 Please Remove the SD Card when DS100Lite show the message "Doing Action succeeded. please remove the sdcard......".


Step16 Reset DS100Lite.


Change Host/Client in OTG port?