Difference between revisions of "Android BSP User Guide for rk3568 series 12"
(23 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | |||
== Android BSP Version == | == Android BSP Version == | ||
Line 22: | Line 23: | ||
Step2 In container, change the user. (example) | 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/ | + | $ sudo git clone https://github.com/ADVANTECH-Rockchip/repo.git |
− | $ mkdir rk3568_android_S12 | + | $ mkdir rk3568_android_S12-rkr13 |
− | $ cd rk3568_android_S12 | + | $ cd rk3568_android_S12-rkr13 |
− | $ git config --global user.name | + | $ git config --global user.name "Your Name" |
$ 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 | ||
$ 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 | + | $ ../repo/repo init -u https://dev.azure.com/AIM-Linux/RISC-RK3568-Android/_git/android-manifest -b rk3568-androidS12-rkr13 -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_AIV12017.xml------ | ||
+ | ------If you want to get ROM5880 code, please use RK3568_S12_AIV12015.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 == | + | |
+ | |||
+ | == Getting Prebuilts (must download) == | ||
− | [https://pan.baidu.com/s/ | + | Baidu:[https://pan.baidu.com/s/1jDOMJTM6jTNGqpNdgNKC7w?pwd=1234 prebuilts] Key: 1234 DropBox:[https://www.dropbox.com/scl/fi/plwys31je681795kt4fvy/prebuilts-rk3399-AndroidS12-20230518.tar.gz?rlkey=72an8vh184gib5on39opd5msb&dl=0 prebuilts.tar.gz] |
<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-rkr13/android |
In container and Unzip file | In container and Unzip file | ||
$ docker attach android_S12 | $ docker attach android_S12 | ||
− | $ tar zxvf ~/BSP/rk3568_android_S12/android/prebuilts.tar.gz | + | $ tar zxvf ~/BSP/rk3568_android_S12-rkr13/android/prebuilts.tar.gz |
</pre> | </pre> | ||
Line 54: | Line 62: | ||
Build RSB-4810 project | Build RSB-4810 project | ||
− | <pre>$ source build/envsetup.sh | + | <pre>$ source build/envsetup.sh |
− | $./build.sh -AUCKu | + | $ lunch rsb4810_s-userdebug |
− | </pre> | + | $./build.sh -AUCKu</pre> |
+ | |||
+ | Build ROM-5880 project | ||
+ | <pre>$ source build/envsetup.sh | ||
+ | $ lunch rom5880_s-userdebug; | ||
+ | $./build.sh -AUCKu</pre> | ||
== Build U-boot == | == Build U-boot == | ||
=== Build RSB-4810 U-boot === | === Build RSB-4810 U-boot === | ||
− | <pre>$ ./make.sh rk3568_rsb4810a2 | + | <pre>$ cd u-boot |
− | </pre> | + | $ ./make.sh rk3568_rsb4810a2</pre> |
+ | |||
+ | === Build ROM-5880 U-boot === | ||
+ | <pre>$ ./make.sh rk3568_rom5880a1</pre> | ||
== Build Kernel == | == Build Kernel == | ||
− | === Build RSB-4810 | + | === Build RSB-4810 Kernel === |
+ | <pre>$ cd kernel-4.19 | ||
+ | $ make ARCH=arm64 rk3568_adv_defconfig | ||
+ | $ make ARCH=arm64 rk3568-rsb4810-a2.img -j12</pre> | ||
+ | |||
+ | === Build RSB-5880 Kernel === | ||
<pre>$ 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- | + | $ make ARCH=arm64 rk3568-rom5880-a1.img -j12</pre> |
− | </pre> | ||
== Build Android == | == Build Android == | ||
− | === Build RSB-4810 | + | === Build RSB-4810 Android === |
− | <pre>$ source build/envsetup.sh | + | <pre>$ source build/envsetup.sh |
+ | $lunch rsb4810_s-userdebug | ||
$ ./build.sh -A | $ ./build.sh -A | ||
</pre> | </pre> | ||
+ | |||
+ | === Build RSB-5880 Android === | ||
+ | <pre>$ source build/envsetup.sh | ||
+ | $ lunch rom5880_s-userdebug; | ||
+ | $ ./build.sh -A</pre> | ||
All image in | All image in | ||
rockdev/Image-rsb4810_s/ | rockdev/Image-rsb4810_s/ | ||
+ | |||
+ | rockdev/Image-rom5880_s/ | ||
The common image files are listed below: | The common image files are listed below: | ||
Line 101: | Line 129: | ||
vbmeta.img | vbmeta.img | ||
</pre> | </pre> | ||
+ | |||
+ | | ||
== How to update images? == | == How to update images? == | ||
Line 108: | Line 138: | ||
(The corresponding tools are in the '''RKTools/ '''directory of the source code) | (The corresponding tools are in the '''RKTools/ '''directory of the source code) | ||
− | === '''[[ | + | === '''[[Using_AndroidToool_for_NEW|1._Using_AndroidToool.]]''' === |
There is no limitation by this way. | There is no limitation by this way. | ||
Line 120: | Line 150: | ||
(2)Only update images from the same os, eg : | (2)Only update images from the same os, eg : | ||
− | | + | Android12.0 upgrade to Android12.0. |
+ | |||
+ | (3)Using update.zip to upgrade. | ||
− | + | update.zip comes from the rockdev\image in the publishing system image package and is renamed from PRODUCT-NAME-ota-XX.zip | |
− | === '''[[ | + | === '''[[Using_bootup_sd_disk_made_by_SDDiskTool_for_new|3._Using_bootup_sd_disk made_by SDDiskTool.]]''' === |
(1)Only update images from the same os, eg : | (1)Only update images from the same os, eg : | ||
− | | + | Android12.0 upgrade to Android12.0. |
(2)Using update.img to upgrade. | (2)Using update.img to upgrade. |
Latest revision as of 05:39, 20 May 2024
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-rkr13 $ cd rk3568_android_S12-rkr13 $ 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-rkr13 -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_AIV12017.xml------ ------If you want to get ROM5880 code, please use RK3568_S12_AIV12015.xml------ $ ../repo/repo sync -c -f --no-clone-bundle -j`nproc`
Getting Prebuilts (must download)
Baidu:prebuilts Key: 1234 DropBox:prebuilts.tar.gz
Exit docker and copy the file to /home/your-name/myandroid $ cp prebuilts.tar.gz /home/your-name/myandroid/rk3568_android_S12-rkr13/android In container and Unzip file $ docker attach android_S12 $ tar zxvf ~/BSP/rk3568_android_S12-rkr13/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
$ cd 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 :
Android12.0 upgrade to Android12.0.
(3)Using update.zip to upgrade.
update.zip comes from the rockdev\image in the publishing system image package and is renamed from PRODUCT-NAME-ota-XX.zip
3._Using_bootup_sd_disk made_by SDDiskTool.
(1)Only update images from the same os, eg :
Android12.0 upgrade to Android12.0.
(2)Using update.img to upgrade.