Difference between revisions of "Android BSP User Guide for rk3399 series 10.0"
Yunjin.jiang (talk | contribs) |
|||
Line 28: | Line 28: | ||
== Getting Android Source Code == | == Getting Android Source Code == | ||
<pre>$ cd ~/BSP | <pre>$ cd ~/BSP | ||
− | $ sudo git clone | + | $ sudo git clone https://github.com/ADVANTECH-Rockchip/repo.git |
$ mkdir rk3399_android_Q10 | $ mkdir rk3399_android_Q10 | ||
$ cd rk3399_android_Q10 | $ cd rk3399_android_Q10 |
Latest revision as of 03:44, 1 April 2022
Contents
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/u18.04-rk3399abv10 Docker image for developing Rockchip RK3399 projects.
Docker command:
docker pull advrisc/u18.04-rk3399abv10:latest;
Run Docker example
Step1 Run docker container (example)
$ docker run -it --name android_Q10 -v /home/bsp/myandroid:/home/adv/BSP:rw advrisc/u18.04-rk3399abv10:latest /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/ADVANTECH-Rockchip/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://AIM-Linux@dev.azure.com/AIM-Linux/RISC-RK3399-Android/_git/android-q10-manifest -b rk3399-androidQ10 -m default.xml $ ../repo/repo sync $ ../repo/repo forall -c git checkout -b local --track advantech-azure/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 RSB-3710 U-boot
$ cd u-boot $ ./make.sh rk3399_rsb3710a2_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
To build the kernel, it needs to install extra packages
sudo apt install libssl-dev liblz4-tool -y
Build RSB-3710 platform
$ cd kernel $ make ARCH=arm64 rk3399_adv_defconfig $ make ARCH=arm64 rk3399-rsb3710-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 RSB-3710 platform
$ source build/envsetup.sh $ lunch rsb3710_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-rsb3710_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:
boot.img config.cfg dtbo.img kernel.img MiniLoaderAll.bin misc.img odm.img parameter.txt pcba_small_misc.img pcba_whole_misc.img recovery.img resource.img super.img system.img trust.img uboot.img vbmeta.img vendor.img
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.