2.1 找“aboot”伪目标 device/qcom/common/generate_extra_images.mk 第434 - 439行
.PHONY: aboot ifeq ($(USESECIMAGETOOL), true) aboot: gensecimage_target else aboot: $(INSTALLED_BOOTLOADER_MODULE) endifUSESECIMAGETOOL的值是true,走 if 分支。 if分支的目标是gensecimage_target,它定义在vendor/qcom/proprietary/common/scripts/Android.mk 转到$(TARGET_EMMC_BOOTLOADER) 和 $(INSTALLED_BOOTLOADER_MODULE)这两个变量。 添加2行代码,打印一下这2个变量的值: make aboot 编译,然后查看编译日志: $(TARGET_EMMC_BOOTLOADER)的值是 out/target/product/msm8909/emmc_appsboot.mbn $(INSTALLED_BOOTLOADER_MODULE)的值为空。
2.2 编译aboot $(TARGET_EMMC_BOOTLOADER)定义编译目标。 bootable/bootloader/lk/AndroidBoot.mk 在这里完成aboot的编译。
