Android BSP User Guide for rk3568 series 12
Contents
- 1 Android BSP Version
- 2 Build Environment on Host
- 3 Run Docker example
- 4 Getting Android Source Code
- 5 Getting Prebuilts (must download)
- 6 Compile all
- 7 Build U-boot
- 8 Build Kernel
- 9 Build Android
- 10 How to update images?
- 10.1 <a href="1.%20Using%20AndroidToool.">1._Using_AndroidToool.</a>
- 10.2 <a href="2.%20Using%20storage%EF%BC%88such%20sd%20or%20USB%20disk%EF%BC%89with%20update.zip%20in%20it.">2._Using_storage(such sd_or_USB_disk)with_update.zip_in_it.</a>
- 10.3 <a href="3.%20Using%20bootup%20sd%20disk%20made%20by%20SDDiskTool.">3._Using_bootup_sd_disk made_by SDDiskTool.</a>
Android BSP Version
Android 12.0
Kernel 4.19.206
Build Environment on Host
Currently, we adopt <a alt="https://www.docker.com/" href="https://www.docker.com/" title="https://www.docker.com/">Docker</a> as build environment.
You can get the latest version of <a alt="https://hub.docker.com/r/advrisc/u18.04-rk3399abv10" href="https://hub.docker.com/r/advrisc/u18.04-rk3399abv10" title="https://hub.docker.com/r/advrisc/u18.04-rk3399abv10">advrisc/u18.04-rk3399abv10</a> Docker image for developing Rockchip RK3399 and rk3568 projects.
Docker command:
docker pull advrisc/u18.04-rk3399abv10:latest;
Run Docker example
Step1 Run docker container (example)
docker run --privileged -it --name android_S12 -v /home/your-name/myandroid:/home/adv/BSP:rw advrisc/u18.04-rk3399abv10 /bin/bash
Step2 In container, change the user. (example)
$ sudo chown adv:adv -R BSP
Getting Android Source Code
$ cd ~/BSP $ sudo git clone https://github.com/ADVANTECH-Rockchip/repo.git $ mkdir rk3568_android_S12 $ cd rk3568_android_S12 $ git config --global user.name &quot;Your Name&quot; $ git config --global user.email you@example.com $ git config --global http.postBuffer 52428800000 $ git config --global http.maxRequestBuffer 100M $ git config --global core.compression 0 $ ../repo/repo init -u https://dev.azure.com/AIM-Linux/RISC-RK3568-Android/_git/android-manifest -b rk3568-androidS12 -m RK3568_S12_AIV0001.xml ------If you want to get the latest code, please use default.xml------ $ ../repo/repo sync -c -f --no-clone-bundle -j`nproc`
Getting Prebuilts (must download)
<a alt="https://pan.baidu.com/s/1AE84XmoURcAIfDxREH3kww" href="https://pan.baidu.com/s/1AE84XmoURcAIfDxREH3kww" title="https://pan.baidu.com/s/1AE84XmoURcAIfDxREH3kww">prebuilts.tar.gz</a> Key: 1234
Exit docker and copy the file to /home/your-name/myandroid $ cp prebuilts.tar.gz /home/your-name/myandroid/rk3568_android_S12/android In container and Unzip file $ docker attach android_S12 $ tar zxvf ~/BSP/rk3568_android_S12/android/prebuilts.tar.gz
Compile all
Build RSB-4810 project
$ source build/envsetup.sh;lunch rsb4810_s-userdebug; $./build.sh -AUCKu
Build ROM-5880 project
$ source build/envsetup.sh;lunch rom5880_s-userdebug; $./build.sh -AUCKu
Build U-boot
Build RSB-4810 U-boot
$ ./make.sh rk3568_rsb4810a2
Build ROM-5880 U-boot
$ ./make.sh rk3568_rom5880a1
Build Kernel
Build RSB-4810 Kernel
$ cd kernel-4.19 $ make ARCH=arm64 rk3568_adv_defconfig $ make ARCH=arm64 rk3568-rsb4810-a2.img -j12
Build RSB-5880 Kernel
$ cd kernel-4.19 $ make ARCH=arm64 rk3568_adv_defconfig $ make ARCH=arm64 rk3568-rom5880-a1.img -j12
Build Android
Build RSB-4810 Android
$ source build/envsetup.sh;lunch rsb4810_s-userdebug; $ ./build.sh -A
Build RSB-5880 Android
$ source build/envsetup.sh;lunch rom5880_s-userdebug; $ ./build.sh -A
All image in
rockdev/Image-rsb4810_s/
rockdev/Image-rom5880_s/
The common image files are listed below:
MiniLoaderAll.bin baseparameter.img boot-debug.img boot.img config.cfg dtbo.img misc.img parameter.txt pcba_small_misc.img pcba_whole_misc.img recovery.img resource.img super.img uboot.img update.img vbmeta.img
How to update images?
There are three ways to update images:
(The corresponding tools are in the RKTools/ directory of the source code)
<a href="1.%20Using%20AndroidToool.">1._Using_AndroidToool.</a>
There is no limitation by this way.
<a href="2.%20Using%20storage%EF%BC%88such%20sd%20or%20USB%20disk%EF%BC%89with%20update.zip%20in%20it.">2._Using_storage(such sd_or_USB_disk)with_update.zip_in_it.</a>
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)
<a href="3.%20Using%20bootup%20sd%20disk%20made%20by%20SDDiskTool.">3._Using_bootup_sd_disk made_by SDDiskTool.</a>
(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.