{{indexmenu_n>15}} ====== VIM3/3L Build Android ====== ===== Preparations ===== * [[http://source.android.com/source/initializing.html|Establishing a Build Environment]] * [[/products/sbc/vim3/development/android/download-android-source-code|Downloading the Android Source]] * [[/products/sbc/vim3/development/android/install-toolchains|Install Toolchains for the Amlogic Platform]] ===== Building ===== Before you start to build, make sure you have done all the ''Preparations'' listed above. ==== Build U-Boot ==== **android 9.0:** ```shell $ cd PATH_YOUR_PROJECT $ cd bootloader/uboot $ ./mk TARGET ``` **android 11.0:** ```shell $ cd PATH_YOUR_PROJECT $ cd bootloader/uboot $ ./mk TARGET --vab $ cp build/u-boot.bin ../../device/khadas/TARGET/bootloader.img $ cp build/u-boot.bin.sd.bin ../../device/khadas/TARGET/upgrade/ $ cp build/u-boot.bin.usb.* ../../device/khadas/TARGET/upgrade/ ``` 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 ==== When you build the Android Kernel (above), the Linux Kernel will also be built simultaneously. In some cases, you might want to build the Linux Kernel separately. You can run this script below to do that: **android 9.0:** ```shell $ make bootimage ``` **android 11.0:** ```shell $ ./mk TARGET -v 4.9 ``` ==== Build Android ==== **android 9.0:** ```shell $ cd PATH_YOUR_PROJECT $ source build/envsetup.sh $ lunch TARGET_LUNCH $ make -jN otapackage ``` Gernerate images: ''out/target/product/TARGET/update.img''. **android 11.0:** ```shell $ cd PATH_YOUR_PROJECT $ export BOARD_COMPILE_ATV=false $ export BOARD_COMPILE_CTS=false $ source build/envsetup.sh $ lunch TARGET_LUNCH $ make -jN otapackage ``` Gernerate images: ''out/target/product/TARGET/aml_upgrade_package.img''. * Replace ''N'' as the number you want when you run ''make -jN''. * Replace ''TARGET_LUNCH'' to your lunch select. * For VIM3, it’s ''kvim3-userdebug''. * For VIM3L, it’s ''kvim3l-userdebug''. * ''TARGET'' should be ''kvim3'' or kvim3l''. ===== See Also ===== * [[/products/sbc/edge1/install-os/install-os-into-emmc-via-usb-tool|]] * [[/products/sbc/edge1/install-os/install-os-into-external-storage|]]