Table of Contents

VIM4 Build Android

Preparations

Building

Make sure you have done all the Preparations listed above before getting started.

Android 14

==== Build U-Boot ====

$ 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 ====

$ ./mk kvim4 -v common14-5.15 -jN

Replace N with the actual number of threads on your own computer.

==== Build Android ====

$ cd PATH_YOUR_PROJECT
$ . build/envsetup.sh
$ lunch kvim4_arm64-userdebug
$ make aml_upgrade -jN
$ make -jN otapackage

Gernerate images in this step: out/target/product/kvim4/update.img.

Replace N with the actual number of threads on your own computer.

==== Build Script Demo ====

demo.sh
$ cat demo.sh
#!/bin/bash
 
#build uboot
if [ "$1" == 'u' ] || [ "$1" == 'n' ]; then	
	echo "build uboot"
	cd bootloader/uboot
if [ "$2" == 'n' ] || [ "$1" == 'n' ]; then
	make clean	
	echo "build uboot n"
fi	
	./mk kvim4 --avb2 --vab
	cd -
fi
 
#build kernel
if [ "$1" == 'k' ] || [ "$1" == 'n' ]; then
	echo "build kernel"
if [ "$2" == 'n' ] || [ "$1" == 'n' ]; then
	rm -rf common/common14-5.15/out
fi	
	./mk kvim4 -v common14-5.15 -j88
fi
 
#build android
if [ "$1" == 'a' ] || [ "$1" == 'n' ]; then
	echo "build android" 
if [ "$2" == 'n' ] || [ "$1" == 'n' ]; then
	rm -rf out/
fi
	. build/envsetup.sh 
 	lunch kvim4_arm64-userdebug
#	make installclean
	rm android.log
	make aml_upgrade -j88 >> android.log
fi
 
if [ "$1" == 'o' ] || [ "$1" == 'n' ]; then
	echo "build otapackage" 
	. build/envsetup.sh 
 	lunch kvim4_arm64-userdebug
	make -j88 otapackage
fi

Android 11

==== Build U-Boot ====

$ 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 ====

$ ./mk kvim4 -v 5.4 -jN

Replace N with the actual number of threads on your own computer.

==== Build Android ====

$ cd PATH_YOUR_PROJECT
$ . build/envsetup.sh
$ lunch kvim4-userdebug
$ make -jN otapackage

Gernerate images in this step: out/target/product/kvim4/update.img.

Replace N with the actual number of threads on your own computer.

==== Build Script Demo ====

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:

$ ./demo.sh u

Build Kernel:

$ ./demo.sh k

Build Android:

$ ./demo.sh a

Build all:

$ ./demo.sh n