Difference between revisions of "Android BSP User Guide for rk3568 series 12"
Line 1: | Line 1: | ||
− | |||
− | + | == Android BSP Version == | |
− | + | Android 12.0 | |
− | + | Kernel 4.19.206 | |
− | + | == Build Environment on Host == | |
− | + | Currently, we adopt [https://www.docker.com/ Docker] as build environment. | |
− | + | You can get the latest version of [https://hub.docker.com/r/advrisc/u18.04-rk3399abv10 advrisc/u18.04-rk3399abv10] Docker image for developing Rockchip RK3399 and rk3568 projects. | |
− | <pre> | + | Docker command: |
− | docker pull advrisc/u18.04-rk3399abv10:latest;</pre> | + | <pre>docker pull advrisc/u18.04-rk3399abv10:latest;</pre> |
− | + | == Run Docker example == | |
− | + | Step1 Run docker container (example) | |
− | + | <pre>docker run --privileged -it --name android_S12 -v /home/your-name/myandroid:/home/adv/BSP:rw advrisc/u18.04-rk3399abv10 /bin/bash | |
− | <pre> | ||
− | docker run --privileged -it --name android_S12 -v /home/your-name/myandroid:/home/adv/BSP:rw advrisc/u18.04-rk3399abv10 /bin/bash | ||
</pre> | </pre> | ||
− | + | Step2 In container, change the user. (example) | |
− | + | | |
− | + | <pre>$ sudo chown adv:adv -R BSP | |
− | <pre> | ||
− | $ sudo chown adv:adv -R BSP | ||
</pre> | </pre> | ||
− | + | == Getting Android Source Code == | |
− | + | <pre>$ cd ~/BSP | |
− | <pre> | ||
− | $ cd ~/BSP | ||
$ sudo git clone https://github.com/ADVANTECH-Rockchip/repo.git | $ sudo git clone https://github.com/ADVANTECH-Rockchip/repo.git | ||
$ mkdir rk3568_android_S12 | $ mkdir rk3568_android_S12 | ||
$ cd rk3568_android_S12 | $ cd rk3568_android_S12 | ||
− | $ git config --global user.name & | + | $ git config --global user.name &quot;Your Name&quot; |
$ git config --global user.email you@example.com | $ git config --global user.email you@example.com | ||
$ git config --global http.postBuffer 52428800000 | $ git config --global http.postBuffer 52428800000 | ||
Line 45: | Line 38: | ||
$ 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://dev.azure.com/AIM-Linux/RISC-RK3568-Android/_git/android-manifest -b rk3568-androidS12 -m RK3568_S12_AIV0001.xml | ||
− | |||
$ ../repo/repo sync -c -f --no-clone-bundle -j`nproc` | $ ../repo/repo sync -c -f --no-clone-bundle -j`nproc` | ||
</pre> | </pre> | ||
− | + | == Getting Prebuilts (must download) == | |
− | + | [https://pan.baidu.com/s/1AE84XmoURcAIfDxREH3kww prebuilts.tar.gz] Key: 1234 | |
− | + | <pre>Exit docker and copy the file to /home/your-name/myandroid | |
− | <pre> | ||
− | Exit docker and copy the file to /home/your-name/myandroid | ||
$ cp prebuilts.tar.gz /home/your-name/myandroid/rk3568_android_S12/android | $ cp prebuilts.tar.gz /home/your-name/myandroid/rk3568_android_S12/android | ||
Line 62: | Line 52: | ||
</pre> | </pre> | ||
− | + | == Compile all == | |
− | + | Build RSB-4810 project | |
− | + | <pre>$ source build/envsetup.sh;lunch rsb4810_s-userdebug; | |
− | <pre> | ||
− | $ source build/envsetup.sh;lunch rsb4810_s-userdebug; | ||
$./build.sh -AUCKu | $./build.sh -AUCKu | ||
</pre> | </pre> | ||
− | + | == Build U-boot == | |
− | + | === Build RSB-4810 U-boot === | |
− | + | <pre>$ ./make.sh rk3568_rsb4810a2 | |
− | <pre> | ||
− | $ ./make.sh rk3568_rsb4810a2 | ||
</pre> | </pre> | ||
− | + | == Build Kernel == | |
− | |||
− | |||
− | <pre> | + | === Build RSB-4810 Kernel === |
− | $ cd kernel-4.19 | + | <pre>$ cd kernel-4.19 |
$ make ARCH=arm64 rk3568_adv_defconfig | $ make ARCH=arm64 rk3568_adv_defconfig | ||
$ make ARCH=arm64 rk3568-rsb4810-a2.img -j12 | $ make ARCH=arm64 rk3568-rsb4810-a2.img -j12 | ||
</pre> | </pre> | ||
− | + | == Build Android == | |
− | |||
− | |||
− | <pre> | + | === Build RSB-4810 Android === |
− | $ source build/envsetup.sh;lunch rsb4810_s-userdebug; | + | <pre>$ source build/envsetup.sh;lunch rsb4810_s-userdebug; |
$ ./build.sh -A | $ ./build.sh -A | ||
</pre> | </pre> | ||
− | + | All image in | |
− | |||
− | |||
− | + | rockdev/Image-rsb4810_s/ | |
− | <pre> | + | The common image files are listed below: |
− | MiniLoaderAll.bin | + | <pre>MiniLoaderAll.bin |
baseparameter.img | baseparameter.img | ||
boot-debug.img | boot-debug.img | ||
Line 123: | Line 103: | ||
</pre> | </pre> | ||
− | + | == 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.|1._Using_AndroidToool.]]''' === | |
− | + | There is no limitation by this way. | |
− | + | === '''[[2._Using_storage(such_sd_or_USB_disk)with_update.zip_in_it.|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.|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. |
Revision as of 07:12, 28 November 2022
Contents
Android BSP Version
Android 12.0
Kernel 4.19.206
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 "Your Name" $ 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 $ ../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 U-boot
Build RSB-4810 U-boot
$ ./make.sh rk3568_rsb4810a2
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 Android
Build RSB-4810 Android
$ source build/envsetup.sh;lunch rsb4810_s-userdebug; $ ./build.sh -A
All image in
rockdev/Image-rsb4810_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.