Difference between revisions of "Android BSP User Guide for rk3399 series 10.0"

From ESS-WIKI
Jump to: navigation, search
(Created page with "== Android BSP Version == Android 10.0 Kernel 4.19.111 == Build Environment on Host == Currently, we adopt [https://www.docker.com/ Docker] as build environment. You can...")
 
Line 13: Line 13:
 
Docker command:
 
Docker command:
 
<pre>docker pull advrisc/u16.04-imx6abv5:20170523&nbsp;</pre>
 
<pre>docker pull advrisc/u16.04-imx6abv5:20170523&nbsp;</pre>
 +
 +
To build the kernel, it needs to install extra packages
 +
<pre>sudo apt install libssl-dev liblz4-tool -y</pre>
  
 
== Run Docker example ==
 
== Run Docker example ==

Revision as of 03:27, 18 February 2021

Android BSP Version

Android 10.0

Kernel 4.19.111

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 

To build the kernel, it needs to install extra packages

sudo apt install libssl-dev liblz4-tool -y

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

$ cd ~/BSP
$ sudo git clone https://github.com/rockchip-linux/repo.git
$ mkdir rk3399_android_Q10
$ cd rk3399_android_Q10
$ git config --global user.name "Your Name"
$ git config --global user.email you@example.com
$ ../repo/repo init -u https://gitlab.edgecenter.io/risc/rockchip/android-manifest.git -b rk3399-androidQ10 -m default.xml
$ ../repo/repo sync
$ ../repo/repo forall -c git checkout -b local --track advantech-gitlab/rk3399-androidQ10

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

Build RSB-4710 U-boot

$ cd u-boot
$ ./make.sh rk3399_rsb4710a2_2G

Build ROM-5780 U-boot

$ cd u-boot
$ ./make.sh rk3399_rom5780a3_2G

Build Kernel

Build RSB-4710 platform

$ cd kernel
$ make ARCH=arm64 rk3399_adv_defconfig
$ make ARCH=arm64 rk3399-rsb4710-a2.img -j12

Build ROM-5780 platform

$ cd kernel
$ make ARCH=arm64 rk3399_adv_defconfig
$ make ARCH=arm64 rk3399-rom5780-a3.img -j12

Build Android

Build RSB-4710 platform

$ source build/envsetup.sh 
$ lunch rsb4710_Android10-userdebug
$ make -j12 2>&1 | tee build-log.txt

Build ROM-5780 platform

$ source build/envsetup.sh 
$ lunch rom5780_Android10-userdebug
$ make -j12 2>&1 | tee build-log.txt

Push all image to rockdev folder

$ ./mkimage.sh

All image in rockdev/Image-rsb4710_Android10 or rockdev/Image-rom5780_Android10 ./mkimage.sh at previous step will repack boot.img and system.img, and copy other related image files to the rockdev/Image-project/ directory. The common image files are listed below:



How to update images?

There are three ways to update images:

1._Using_AndroidToool.

There is no limitation by this way.

2._Using_storage(such sd_or_USB_disk)with_update.zip_in_it.

There are some limitations:

(1)The device must be able to boot up to Android system.

(2)Only update images from the same os,  eg : 

        Android6.0 upgrade to Android6.0 or Android7.1 upgrade to Android7.1.

(3)Using update.zip to upgrade. (see more detail in "Create OTA zip" on how to create update.zip)

3._Using_bootup_sd_disk made_by SDDiskTool.

(1)Only update images from the same os,  eg : 

         Android6.0 upgrade to Android6.0 or Android7.1 upgrade to Android7.1.

(2)Using update.img to upgrade.