Difference between revisions of "Android BSP User Guide for rk3568 series 12"

From ESS-WIKI
Jump to: navigation, search
Line 4: Line 4:
 
Android 12.0
 
Android 12.0
  
Kernel 4.19.206
+
Kernel 4.19.206 or Kernel 4.19.232
  
 
== Build Environment on Host ==
 
== Build Environment on Host ==
Line 37: Line 37:
 
$ git config --global http.maxRequestBuffer 100M
 
$ git config --global http.maxRequestBuffer 100M
 
$ git config --global core.compression 0
 
$ 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
+
$ ../repo/repo init -u https://kag-sw.visualstudio.com/RK3568-Android/_git/android-manifest -b rk3568-androidS12 -m default.xml
 
------If you want to get the latest code, please use default.xml------
 
------If you want to get the latest code, please use default.xml------
 +
------If you want to get RSB4810 code, please use RK3568_S12_AIV12001.xml------
 +
------If you want to get ROM5880 code, please use RK3568_S12_AIV12002.xml------
 
$ ../repo/repo sync -c -f --no-clone-bundle -j`nproc`
 
$ ../repo/repo sync -c -f --no-clone-bundle -j`nproc`
 
</pre>
 
</pre>

Revision as of 03:10, 1 July 2023

Android BSP Version

Android 12.0

Kernel 4.19.206 or Kernel 4.19.232

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 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://kag-sw.visualstudio.com/RK3568-Android/_git/android-manifest -b rk3568-androidS12 -m default.xml
------If you want to get the latest code, please use default.xml------
------If you want to get RSB4810 code, please use RK3568_S12_AIV12001.xml------
------If you want to get ROM5880 code, please use RK3568_S12_AIV12002.xml------
$ ../repo/repo sync -c -f --no-clone-bundle -j`nproc`

Getting Prebuilts  (must download)

prebuilts.tar.gz 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)

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.