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

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
products:sbc:vim4:development:android:build-android [2022/07/05 21:59]
nick ↷ Page moved from products:sbc:vim4:development:build-android to products:sbc:vim4:development:android:build-android
products:sbc:vim4:development:android:build-android [2022/09/28 09:46]
nick
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 
 + 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 
 + 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: 2023/08/22 21:23 by goenjoy