Table of Contents

VIM1S Build Android

Preparations

Building

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

Build U-Boot

$ cd PATH_YOUR_PROJECT
$ cd bootloader/uboot
$ ./mk kvim1s

Gernerate images in this step:

Build Linux Kernel

$ ./mk kvim1s -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 TARGET_LUNCH
$ make -jN otapackage

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

  • When compiling Android for VIM3, both Android and the kernel are compiled together. For VIM1S, only Android is compiled, the kernel has to be compiled separately.
  • Replace N with the actual number of threads on your own computer
  • Replace TARGET_LUNCH to your lunch select.
    • For VIM1S, it's kvim1s-userdebug.

Build Script Demo

demo.sh
#!/bin/bash
 
#build U-Boot
if [ "$1" == 'u' ] || [ "$1" == 'n' ]; then	
	echo "build U-Boot"
	cd bootloader/uboot
	./mk kvim1s
	cd -
fi
 
#build Kernel
if [ "$1" == 'k' ] || [ "$1" == 'n' ]; then
	echo "build Kernel"
if [ "$2" == 'n' ] || [ "$1" == 'n' ]; then
	. build/envsetup.sh 
	lunch kvim1s-userdebug 
	make distclean
fi	
	./mk kvim1s -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 kvim1s-userdebug 
	make clean
fi	 
	. build/envsetup.sh 
	lunch kvim1s-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