Difference between revisions of "Android BSP User Guide for rk3399 series 10.0"
Yunjin.jiang (talk | contribs) |
Yunjin.jiang (talk | contribs) |
||
Line 90: | Line 90: | ||
$ make -j12 2>&1 | tee build-log.txt | $ make -j12 2>&1 | tee build-log.txt | ||
</pre> | </pre> | ||
+ | |||
+ | === Build RSB-3710 platform === | ||
+ | <pre>$ source build/envsetup.sh | ||
+ | $ lunch rsb3710_Android10-userdebug | ||
+ | $ make -j12 2>&1 | tee build-log.txt</pre> | ||
=== Build ROM-5780 platform === | === Build ROM-5780 platform === |
Revision as of 10:58, 14 December 2021
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/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 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-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.