author | Xindong Xu <xindong.xu@amlogic.com> | 2020-05-27 09:44:34 (GMT) |
---|---|---|
committer | Xindong Xu <xindong.xu@amlogic.com> | 2020-06-15 09:45:00 (GMT) |
commit | 2e24dc8a02056c748eeefaa2e6477bfd60287c4f (patch) | |
tree | a76ac6fc86f3d9e0d1cd181f43a90d9bbc73f4b8 | |
parent | 8c6894cfa52318ed2e04ccc5658ccb2ad3581fa7 (diff) | |
download | common-2e24dc8a02056c748eeefaa2e6477bfd60287c4f.zip common-2e24dc8a02056c748eeefaa2e6477bfd60287c4f.tar.gz common-2e24dc8a02056c748eeefaa2e6477bfd60287c4f.tar.bz2 |
[DO NOT MERGE] dtb: add avb to dt.img when use prebuilt kernel [1/3]
PD#SWPL-26912
BUG: 157624209
Problem:
dt.img is not signed by avb when use prebuilt kernel
Solution:
1. generate dtb footer when use prebuilt kernel
2. add dtb footer data to vbmeta.img
Verify:
sabrian
Merged-In: I6fc7ac6c8e45d30b936ec654b6007fff060f830d
Change-Id: I744b6c4574b8f2296c67b1c0eefc0d2ff1f4b2e0
Signed-off-by: Xindong Xu <xindong.xu@amlogic.com>
-rw-r--r--[-rwxr-xr-x] | factory.mk | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/factory.mk b/factory.mk index 05ab829..43d47ca 100755..100644 --- a/factory.mk +++ b/factory.mk @@ -71,6 +71,19 @@ AML_TARGET := $(PRODUCT_OUT)/obj/PACKAGING/target_files_intermediates/$(name_aml AML_TARGET_ZIP := $(PRODUCT_OUT)/super_empty_all.img +ifeq ($(BUILD_WITH_AVB),true) +INSTALLED_AVB_DTBIMAGE_TARGET := $(PRODUCT_OUT)/dtb-avb.img +BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += \ + --include_descriptors_from_image $(INSTALLED_AVB_DTBIMAGE_TARGET) + +# Add a dependency of AVBTOOL to INSTALLED_BOARDDTB_TARGET +$(INSTALLED_BOARDDTB_TARGET): $(AVBTOOL) + +# Add a dependency of dtb.img to vbmeta.img +$(INSTALLED_VBMETAIMAGE_TARGET): $(INSTALLED_BOARDDTB_TARGET) +vbmetaimage: $(INSTALLED_BOARDDTB_TARGET) +endif + ifdef KERNEL_DEVICETREE DTBTOOL := $(BOARD_AML_VENDOR_PATH)/tools/dtbTool @@ -96,19 +109,6 @@ ifeq ($(PRODUCT_BUILD_SECURE_BOOT_IMAGE_DIRECTLY),true) INSTALLED_BOARDDTB_TARGET := $(INSTALLED_BOARDDTB_TARGET).encrypt endif# ifeq ($(PRODUCT_BUILD_SECURE_BOOT_IMAGE_DIRECTLY),true) -ifeq ($(BUILD_WITH_AVB),true) -INSTALLED_AVB_DTBIMAGE_TARGET := $(PRODUCT_OUT)/dtb-avb.img -BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += \ - --include_descriptors_from_image $(INSTALLED_AVB_DTBIMAGE_TARGET) - -# Add a dependency of AVBTOOL to INSTALLED_BOARDDTB_TARGET -$(INSTALLED_BOARDDTB_TARGET): $(AVBTOOL) - -# Add a dependency of dtb.img to vbmeta.img -$(INSTALLED_VBMETAIMAGE_TARGET): $(INSTALLED_BOARDDTB_TARGET) -vbmetaimage: $(INSTALLED_BOARDDTB_TARGET) -endif - #TODO Kernel related is defined in Kernel.mk, located in device directory # do we really think here impl a copy for that is ok? define build_kernel_proc @@ -540,6 +540,9 @@ ifneq ($(PRODUCT_USE_DYNAMIC_PARTITIONS), true) ln -sf $(shell readlink -f $(AML_TARGET)/IMAGES/$(file)) $(PRODUCT_UPGRADE_OUT)/$(file); \ ) endif +ifeq ($(BUILD_WITH_AVB),true) + cp $(PRODUCT_OUT)/dtb-avb.img $(PRODUCT_UPGRADE_OUT)/dt.img +endif ifeq ($(PRODUCT_BUILD_SECURE_BOOT_IMAGE_DIRECTLY),true) $(hide) rm -f $(PRODUCT_UPGRADE_OUT)/bootloader.img.encrypt.* $(hide) $(ACP) $(PRODUCT_OUT)/bootloader.img.encrypt.* $(PRODUCT_UPGRADE_OUT)/ @@ -615,6 +618,9 @@ else cp $(PRODUCT_OUT)/bootloader.img $(PRODUCT_OUT)/fastboot_auto/ cp $(PRODUCT_OUT)/dt.img $(PRODUCT_OUT)/fastboot_auto/ endif +ifeq ($(BUILD_WITH_AVB),true) + cp $(PRODUCT_OUT)/dtb-avb.img $(PRODUCT_OUT)/fastboot_auto/dt.img +endif cp $(PRODUCT_OUT)/upgrade/logo.img $(PRODUCT_OUT)/fastboot_auto/ ifeq ($(PRODUCT_USE_DYNAMIC_PARTITIONS), true) ifeq ($(AB_OTA_UPDATER),true) |