From e9f4ce4368225d67425cc84c7031ee7f7891355f Mon Sep 17 00:00:00 2001 From: Kelvin Zhang Date: Fri, 25 Aug 2023 10:41:48 -0700 Subject: [PATCH] Fix 16k ota package build failures on pixel boot_ota_16k.zip relies on build_boot_from_kernel_avb_enabled. But that makefile function is guarded by $(BOARD_PREBUILT_BOOTIMAGE). Pixel defined BOARD_PREBUILT_BOOTIMAGE, which causes build_boot_from_kernel_avb_enabled to be undefined, resulting in build failure. Test: th Bug: 293313353 Change-Id: I5b01e9bf7fedd9c508f476bc243d860dc48c5ebb --- core/Makefile | 45 +++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/core/Makefile b/core/Makefile index 6b6f4faa69..4c3a238e94 100644 --- a/core/Makefile +++ b/core/Makefile @@ -1208,6 +1208,29 @@ define get-partition-size-argument $(if $(1),--partition_size $(1),--dynamic_partition_size) endef +# $1: output boot image target +# $2: input path to kernel binary +define build_boot_from_kernel_avb_enabled + $(eval kernel := $(2)) + $(MKBOOTIMG) --kernel $(kernel) $(INTERNAL_BOOTIMAGE_ARGS) $(INTERNAL_MKBOOTIMG_VERSION_ARGS) $(BOARD_MKBOOTIMG_ARGS) --output $(1) + $(if $(BOARD_GKI_SIGNING_KEY_PATH), \ + $(eval boot_signature := $(call intermediates-dir-for,PACKAGING,generic_boot)/$(notdir $(1)).boot_signature) \ + $(eval kernel_signature := $(call intermediates-dir-for,PACKAGING,generic_kernel)/$(notdir $(kernel)).boot_signature) \ + $(call generate_generic_boot_image_certificate,$(1),$(boot_signature),boot,$(BOARD_AVB_BOOT_ADD_HASH_FOOTER_ARGS)) $(newline) \ + $(call generate_generic_boot_image_certificate,$(kernel),$(kernel_signature),generic_kernel,$(BOARD_AVB_BOOT_ADD_HASH_FOOTER_ARGS)) $(newline) \ + cat $(kernel_signature) >> $(boot_signature) $(newline) \ + $(call assert-max-image-size,$(boot_signature),16 << 10) $(newline) \ + truncate -s $$(( 16 << 10 )) $(boot_signature) $(newline) \ + cat "$(boot_signature)" >> $(1)) + $(call assert-max-image-size,$(1),$(call get-hash-image-max-size,$(call get-bootimage-partition-size,$(1),boot))) + $(AVBTOOL) add_hash_footer \ + --image $(1) \ + $(call get-partition-size-argument,$(call get-bootimage-partition-size,$(1),boot)) \ + --partition_name boot $(INTERNAL_AVB_BOOT_SIGNING_ARGS) \ + $(BOARD_AVB_BOOT_ADD_HASH_FOOTER_ARGS) +endef + + ifndef BOARD_PREBUILT_BOOTIMAGE ifneq ($(strip $(TARGET_NO_KERNEL)),true) @@ -1309,28 +1332,6 @@ $(foreach b,$(INSTALLED_BOOTIMAGE_TARGET), $(eval $(call add-dependency,$(b),$(c ifeq (true,$(BOARD_AVB_ENABLE)) -# $1: output boot image target -# $2: input path to kernel binary -define build_boot_from_kernel_avb_enabled - $(eval kernel := $(2)) - $(MKBOOTIMG) --kernel $(kernel) $(INTERNAL_BOOTIMAGE_ARGS) $(INTERNAL_MKBOOTIMG_VERSION_ARGS) $(BOARD_MKBOOTIMG_ARGS) --output $(1) - $(if $(BOARD_GKI_SIGNING_KEY_PATH), \ - $(eval boot_signature := $(call intermediates-dir-for,PACKAGING,generic_boot)/$(notdir $(1)).boot_signature) \ - $(eval kernel_signature := $(call intermediates-dir-for,PACKAGING,generic_kernel)/$(notdir $(kernel)).boot_signature) \ - $(call generate_generic_boot_image_certificate,$(1),$(boot_signature),boot,$(BOARD_AVB_BOOT_ADD_HASH_FOOTER_ARGS)) $(newline) \ - $(call generate_generic_boot_image_certificate,$(kernel),$(kernel_signature),generic_kernel,$(BOARD_AVB_BOOT_ADD_HASH_FOOTER_ARGS)) $(newline) \ - cat $(kernel_signature) >> $(boot_signature) $(newline) \ - $(call assert-max-image-size,$(boot_signature),16 << 10) $(newline) \ - truncate -s $$(( 16 << 10 )) $(boot_signature) $(newline) \ - cat "$(boot_signature)" >> $(1)) - $(call assert-max-image-size,$(1),$(call get-hash-image-max-size,$(call get-bootimage-partition-size,$(1),boot))) - $(AVBTOOL) add_hash_footer \ - --image $(1) \ - $(call get-partition-size-argument,$(call get-bootimage-partition-size,$(1),boot)) \ - --partition_name boot $(INTERNAL_AVB_BOOT_SIGNING_ARGS) \ - $(BOARD_AVB_BOOT_ADD_HASH_FOOTER_ARGS) -endef - # $1: boot image target define build_boot_board_avb_enabled $(eval kernel := $(call bootimage-to-kernel,$(1)))