summaryrefslogtreecommitdiff
authorXindong 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)
commit2e24dc8a02056c748eeefaa2e6477bfd60287c4f (patch)
treea76ac6fc86f3d9e0d1cd181f43a90d9bbc73f4b8
parent8c6894cfa52318ed2e04ccc5658ccb2ad3581fa7 (diff)
downloadcommon-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>
Diffstat
-rw-r--r--[-rwxr-xr-x]factory.mk32
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)