From ebe65f8c0a4d45f3c8bd88c2129c14829b866e20 Mon Sep 17 00:00:00 2001 From: Yifan Hong Date: Thu, 15 Oct 2020 14:48:07 -0700 Subject: [PATCH] Build boot image if BOARD_KERNEL*_BOOTIMAGE_PARTITION_SIZE Also gets the correct partition size and checks correctly. Test: build aosp_arm64 Change-Id: I004e4b04d225d72db1904b983a6d03a916406085 --- core/Makefile | 10 +++++----- core/board_config.mk | 2 ++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/core/Makefile b/core/Makefile index 947114822..5d66f5658 100644 --- a/core/Makefile +++ b/core/Makefile @@ -798,10 +798,10 @@ ifeq (true,$(BOARD_AVB_ENABLE)) # $1: boot image target define build_boot_board_avb_enabled $(MKBOOTIMG) --kernel $(call bootimage-to-kernel,$(1)) $(INTERNAL_BOOTIMAGE_ARGS) $(INTERNAL_MKBOOTIMG_VERSION_ARGS) $(BOARD_MKBOOTIMG_ARGS) --output $(1) - $(call assert-max-image-size,$(1),$(call get-hash-image-max-size,$(BOARD_BOOTIMAGE_PARTITION_SIZE))) + $(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) \ - --partition_size $(BOARD_BOOTIMAGE_PARTITION_SIZE) \ + --partition_size $(call get-bootimage-partition-size,$(1),boot) \ --partition_name boot $(INTERNAL_AVB_BOOT_SIGNING_ARGS) \ $(BOARD_AVB_BOOT_ADD_HASH_FOOTER_ARGS) endef @@ -821,7 +821,7 @@ else ifeq (true,$(PRODUCT_SUPPORTS_BOOT_SIGNER)) # BOARD_AVB_ENABLE != true define build_boot_supports_boot_signer $(MKBOOTIMG) --kernel $(call bootimage-to-kernel,$(1)) $(INTERNAL_BOOTIMAGE_ARGS) $(INTERNAL_MKBOOTIMG_VERSION_ARGS) $(BOARD_MKBOOTIMG_ARGS) --output $(1) $(BOOT_SIGNER) /boot $@ $(PRODUCT_VERITY_SIGNING_KEY).pk8 $(PRODUCT_VERITY_SIGNING_KEY).x509.pem $(1) - $(call assert-max-image-size,$(1),$(BOARD_BOOTIMAGE_PARTITION_SIZE)) + $(call assert-max-image-size,$(1),$(call get-bootimage-partition-size,$(1),boot)) endef $(INSTALLED_BOOTIMAGE_TARGET): $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_FILES) $(BOOT_SIGNER) @@ -839,7 +839,7 @@ else ifeq (true,$(PRODUCT_SUPPORTS_VBOOT)) # PRODUCT_SUPPORTS_BOOT_SIGNER != tru define build_boot_supports_vboot $(MKBOOTIMG) --kernel $(call bootimage-to-kernel,$(1)) $(INTERNAL_BOOTIMAGE_ARGS) $(INTERNAL_MKBOOTIMG_VERSION_ARGS) $(BOARD_MKBOOTIMG_ARGS) --output $(1).unsigned $(VBOOT_SIGNER) $(FUTILITY) $(1).unsigned $(PRODUCT_VBOOT_SIGNING_KEY).vbpubk $(PRODUCT_VBOOT_SIGNING_KEY).vbprivk $(PRODUCT_VBOOT_SIGNING_SUBKEY).vbprivk $(1).keyblock $(1) - $(call assert-max-image-size,$(1),$(BOARD_BOOTIMAGE_PARTITION_SIZE)) + $(call assert-max-image-size,$(1),$(call get-bootimage-partition-size,$(1),boot)) endef $(INSTALLED_BOOTIMAGE_TARGET): $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_FILES) $(VBOOT_SIGNER) $(FUTILITY) @@ -856,7 +856,7 @@ else # PRODUCT_SUPPORTS_VBOOT != true # $1: boot image target define build_boot_novboot $(MKBOOTIMG) --kernel $(call bootimage-to-kernel,$(1)) $(INTERNAL_BOOTIMAGE_ARGS) $(INTERNAL_MKBOOTIMG_VERSION_ARGS) $(BOARD_MKBOOTIMG_ARGS) --output $(1) - $(call assert-max-image-size,$1,$(BOARD_BOOTIMAGE_PARTITION_SIZE)) + $(call assert-max-image-size,$1,$(call get-bootimage-partition-size,$(1),boot)) endef $(INSTALLED_BOOTIMAGE_TARGET): $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_FILES) diff --git a/core/board_config.mk b/core/board_config.mk index 1ab96ea62..eeea49b13 100644 --- a/core/board_config.mk +++ b/core/board_config.mk @@ -363,6 +363,8 @@ ifeq ($(PRODUCT_BUILD_BOOT_IMAGE),) BUILDING_BOOT_IMAGE := else ifdef BOARD_BOOTIMAGE_PARTITION_SIZE BUILDING_BOOT_IMAGE := true + else ifneq (,$(foreach kernel,$(BOARD_KERNEL_BINARIES),$(BOARD_$(call to-upper,$(kernel))_BOOTIMAGE_PARTITION_SIZE))) + BUILDING_BOOT_IMAGE := true endif else ifeq ($(PRODUCT_BUILD_BOOT_IMAGE),true) ifeq ($(BOARD_USES_RECOVERY_AS_BOOT),true)