From 97944c71dceea5e84272f8951b6d464b728de18a Mon Sep 17 00:00:00 2001 From: chunhui dai Date: Fri, 21 Jun 2024 16:45:47 +0000 Subject: [PATCH] Add macro to support prebuilt vendor_vboot.img There are marcos support to link prebuilt images and generate AVB images in "make"/"make dist" flow. Currently defined marcos only cover boot.img /init_boot.img/vendor.img and so on, missing the vendor_boot.img. Appending a marco for prebuilt vendor_boot.img to work like other prebuilt images. Test: manual Build pass in "make" and "make dist" flow and boot up with AVB Change-Id: I7b296f82e57e8f71a0757d872d35ac27a8d2ecbe Signed-off-by: chunhui dai --- core/Makefile | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/core/Makefile b/core/Makefile index 823d32e9b5..61b4cb64cd 100644 --- a/core/Makefile +++ b/core/Makefile @@ -1674,6 +1674,30 @@ endif $(call declare-1p-container,$(INSTALLED_VENDOR_BOOTIMAGE_TARGET),) $(call declare-container-license-deps,$(INSTALLED_VENDOR_BOOTIMAGE_TARGET),$(INTERNAL_VENDOR_RAMDISK_TARGET) $(INSTALLED_DTB_IMAGE_TARGET) $(INTERNAL_VENDOR_RAMDISK_FRAGMENT_TARGETS) $(INTERNAL_VENDOR_BOOTCONDIG_TARGET),$(PRODUCT_OUT)/:/) VENDOR_NOTICE_DEPS += $(INSTALLED_VENDOR_BOOTIMAGE_TARGET) + +else # BUILDING_VENDOR_BOOT_IMAGE not defined, use prebuilt image + +ifdef BOARD_PREBUILT_VENDOR_BOOTIMAGE +INTERNAL_PREBUILT_VENDOR_BOOTIMAGE := $(BOARD_PREBUILT_VENDOR_BOOTIMAGE) +INSTALLED_VENDOR_BOOTIMAGE_TARGET := $(PRODUCT_OUT)/vendor_boot.img + +ifeq ($(BOARD_AVB_ENABLE),true) +$(INSTALLED_VENDOR_BOOTIMAGE_TARGET): $(INTERNAL_PREBUILT_VENDOR_BOOTIMAGE) $(AVBTOOL) $(BOARD_AVB_VENDOR_BOOT_KEY_PATH) + cp $(INTERNAL_PREBUILT_VENDOR_BOOTIMAGE) $@ + chmod +w $@ + $(AVBTOOL) add_hash_footer \ + --image $@ \ + $(call get-partition-size-argument,$(BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE)) \ + --partition_name vendor_boot $(INTERNAL_AVB_VENDOR_BOOT_SIGNING_ARGS) \ + $(BOARD_AVB_VENDOR_BOOT_ADD_HASH_FOOTER_ARGS) +else +$(INSTALLED_VENDOR_BOOTIMAGE_TARGET): $(INTERNAL_PREBUILT_VENDOR_BOOTIMAGE) + cp $(INTERNAL_PREBUILT_VENDOR_BOOTIMAGE) $@ + +endif # BOARD_AVB_ENABLE +$(call declare-1p-container,$(INSTALLED_VENDOR_BOOTIMAGE_TARGET),) +$(call declare-container-license-deps,$(INSTALLED_VENDOR_BOOTIMAGE_TARGET),$(INTERNAL_PREBUILT_VENDOR_BOOTIMAGE),$(PRODUCT_OUT)/:/) +endif # BOARD_PREBUILT_VENDOR_BOOTIMAGE endif # BUILDING_VENDOR_BOOT_IMAGE # ----------------------------------------------------------------- @@ -6661,6 +6685,10 @@ ifeq ($(BREAKPAD_GENERATE_SYMBOLS),true) @# If breakpad symbols have been generated, add them to the zip. $(hide) cp -R $(TARGET_OUT_BREAKPAD) $(zip_root)/BREAKPAD endif +ifdef BOARD_PREBUILT_VENDOR_BOOTIMAGE + $(hide) mkdir -p $(zip_root)/IMAGES + $(hide) cp $(INSTALLED_VENDOR_BOOTIMAGE_TARGET) $(zip_root)/IMAGES/ +endif ifdef BOARD_PREBUILT_VENDORIMAGE $(hide) mkdir -p $(zip_root)/IMAGES $(hide) cp $(INSTALLED_VENDORIMAGE_TARGET) $(zip_root)/IMAGES/