Make a "Fast Package Update Image"

This guide is about how to make a “Fast Package Update Image”; This means that you will only change one part of Android. For example, only change the U-Boot, Kernel or System.

Preparations:

Only Change the U-Boot

  • Rebuild U-Boot
1
2
3
$ cd PATH_YOUR_PROJECT
$ cd bootload/uboot
$ ./mk TARGET
  • Copy files to output directory
1
2
3
4
5
$ cd PATH_YOUR_PROJECT
$ cp bootloader/uboot/build/u-boot.bin out/target/product/TARGET/bootloader.img
$ cp bootloader/uboot/build/u-boot.bin.usb.bl2 out/target/product/TARGET/upgrade/
$ cp bootloader/uboot/build/u-boot.bin.usb.tpl out/target/product/TARGET/upgrade/
$ cp bootloader/uboot/build/u-boot.bin.sd.bin out/target/product/TARGET/upgrade/
  • Package Update Image
1
2
$ ./vendor/amlogic/common/tools/aml_upgrade/aml_image_v2_packer  -r out/target/product/TARGET/upgrade/aml_upgrade_package_avb.conf
out/target/product/TARGET/upgrade/ out/target/product/TARGET/update.img
1
2
3
4
$ cd PATH_YOUR_PROJECT
$ source build/envsetup.sh
$ lunch TARGET_LUNCH
$ make logoimg
  • Package Update Image
1
$ ./vendor/amlogic/common/tools/aml_upgrade/aml_image_v2_packer  -r out/target/product/TARGET/upgrade/aml_upgrade_package_avb.conf out/target/product/TARGET/upgrade/ out/target/product/TARGET/update.img

Only Change the DTB or Kernel

  • Rebuild DTB and Kernel
1
2
3
4
$ cd PATH_YOUR_PROJECT
$ source build/envsetup.sh
$ lunch TARGET_LUNCH
$ make bootimage
  • Package Update Image
1
$ ./vendor/amlogic/common/tools/aml_upgrade/aml_image_v2_packer  -r out/target/product/TARGET/upgrade/aml_upgrade_package_avb.conf  out/target/product/TARGET/upgrade/ out/target/product/TARGET/update.img

Only Change the System

  • Rebuild System Image
1
2
3
4
$ cd PATH_YOUR_PROJECT
$ source build/envsetup.sh
$ lunch TARGET_LUNCH
$ make systemimage
  • Package Update Image
1
$ ./vendor/amlogic/common/tools/aml_upgrade/aml_image_v2_packer  -r out/target/product/TARGET/upgrade/aml_upgrade_package_avb.conf out/target/product/TARGET/upgrade/ out/target/product/TARGET/update.img
Note
  • Replace PATH_YOUR_PROJECT to your project path
  • 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