Khadas Docs

Amazing Khadas, always amazes you!

User Tools

Site Tools


products:sbc:vim4:development:android:build-android

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
products:sbc:vim4:development:android:build-android [2022/06/29 10:38]
nick ↷ Page name changed from products:sbc:vim4:development:android:build_android to products:sbc:vim4:development:android:build-android
products:sbc:vim4:development:android:build-android [2023/08/22 21:23] (current)
goenjoy
Line 1: Line 1:
-{{indexmenu_n>3}}+{{indexmenu_n>15}}
  
  
-====== Build Android ======+====== VIM4 Build Android ====== 
 + 
 +===== Preparations ===== 
 + 
 +  * [[http://source.android.com/source/initializing.html|Set up a Build Environment]] 
 +  * [[products:sbc:vim4:development:android:download-android-source-code|Downloading the Android Source]] 
 +  * [[products:sbc:vim4:development:android:install-toolchains|Install Toolchains for the Amlogic Platform]] 
 + 
 +===== Building ===== 
 + 
 + 
 +<WRAP important > 
 +Make sure you have done all the ''Preparations'' listed above before getting started. 
 +</WRAP> 
 + 
 + 
 +==== Build U-Boot ==== 
 + 
 +```shell 
 +$ cd PATH_YOUR_PROJECT 
 +$ cd bootloader/uboot 
 +$ ./mk kvim4 --avb2 --vab 
 +``` 
 +Gernerate images in this step: 
 + 
 +  * ''build/u-boot.bin'': for onboard eMMC storage booting 
 +  * ''build/u-boot.bin.sd.bin'': for external TF card booting 
 + 
 +==== Build Linux Kernel ==== 
 + 
 + 
 +```shell 
 +$ ./mk kvim4 -v 5.4 -jN 
 +``` 
 + 
 +<WRAP important > 
 +Replace ''N'' with the actual number of threads on your own computer. 
 +</WRAP> 
 + 
 + 
 +==== Build Android ==== 
 + 
 + 
 +```shell 
 +$ cd PATH_YOUR_PROJECT 
 +$ . build/envsetup.sh 
 +$ lunch TARGET_LUNCH 
 +$ make -jN otapackage 
 +``` 
 + 
 +Gernerate images in this step: ''out/target/product/TARGET/update.img''
 + 
 + 
 +<WRAP important > 
 +  * Unlike VIM3,  VIM4 doesn't support compiling Android and Linux Kernel at the same time. 
 +  * Replace ''N'' with the actual number of threads on your own computer 
 +  * Replace ''TARGET_LUNCH'' to your lunch select. 
 +    * For VIM4, it's ''kvim4-userdebug''
 + 
 +</WRAP> 
 + 
 + 
 +==== Build Script Demo ==== 
 + 
 +```sh demo.sh 
 +$ cat demo.sh 
 +#!/bin/bash 
 + 
 +#build U-Boot 
 +if [ "$1" == 'u' ] || [ "$1" == 'n' ]; then  
 + echo "build U-Boot" 
 + cd bootloader/uboot 
 + ./mk kvim4 --avb2 --vab  
 + cd - 
 +fi 
 + 
 +#build Kernel 
 +if [ "$1" == 'k' ] || [ "$1" == 'n' ]; then 
 + echo "build Kernel" 
 +if [ "$2" == 'n' ] || [ "$1" == 'n' ]; then 
 + . build/envsetup.sh  
 + lunch kvim4-userdebug  
 + make distclean 
 +fi  
 + ./mk kvim4 -v 5.4 -j100 
 +fi 
 + 
 +#build Android 
 +if [ "$1" == 'a' ] || [ "$1" == 'n' ]; then 
 + echo "build Android" 
 +if [ "$2" == 'n' ] || [ "$1" == 'n' ]; then 
 + . build/envsetup.sh  
 + lunch kvim4-userdebug  
 + make clean 
 +fi  
 + . build/envsetup.sh  
 + lunch kvim4-userdebug  
 + make installclean 
 + #make -j80 otapackage 
 + make -j80 
 +fi 
 +``` 
 + 
 +**Build U-Boot:** 
 +```shell 
 +$ ./demo.sh u 
 +``` 
 + 
 +**Build Kernel:** 
 + 
 +```shell 
 +$ ./demo.sh k 
 +``` 
 + 
 +**Build Android:** 
 + 
 +```shell 
 +$ ./demo.sh a 
 +``` 
 + 
 +**Build all:** 
 + 
 +```shell 
 +$ ./demo.sh n 
 +```
  
Last modified: 2022/06/29 10:38 by nick