Include image descriptor of only the first boot image in vbmeta
Multiple boot images can be generated based on BOARD_KERNEL_BINARIES but vbmeta would capture the image descriptor of only the first boot image specified in BUILT_BOOTIMAGE_TARGET. Bug : 158213759 Test: Compile multiple boot images and check if vbmeta.img includes image descriptor of only the first boot image specified in BUILT_BOOTIMAGE_TARGET Change-Id: Ib70f65d98546a436da82656bc5c911d437618bb5
This commit is contained in:
parent
8add8cb145
commit
3e15f6edb1
|
@ -3072,6 +3072,9 @@ endef
|
|||
# configured as a chained partition, if BOARD_AVB_<partition>_KEY_PATH is defined. Otherwise the
|
||||
# image descriptor will be included into vbmeta.img, unless it has been already added to any chained
|
||||
# VBMeta image.
|
||||
# Multiple boot images can be generated based on BOARD_KERNEL_BINARIES
|
||||
# but vbmeta would capture the image descriptor of only the first boot
|
||||
# image specified in BUILT_BOOTIMAGE_TARGET.
|
||||
# $(1): Partition name, e.g. boot or system.
|
||||
define check-and-set-avb-args
|
||||
$(eval _in_chained_vbmeta := $(filter $(1),$(INTERNAL_AVB_PARTITIONS_IN_CHAINED_VBMETA_IMAGES)))
|
||||
|
@ -3080,8 +3083,11 @@ $(if $(BOARD_AVB_$(call to-upper,$(1))_KEY_PATH),\
|
|||
$(error Chaining partition "$(1)" in chained VBMeta image is not supported)) \
|
||||
$(call _check-and-set-avb-chain-args,$(1)),\
|
||||
$(if $(_in_chained_vbmeta),,\
|
||||
$(eval INTERNAL_AVB_MAKE_VBMETA_IMAGE_ARGS += \
|
||||
--include_descriptors_from_image $(call images-for-partitions,$(1)))))
|
||||
$(if $(filter boot,$(1)),\
|
||||
$(eval INTERNAL_AVB_MAKE_VBMETA_IMAGE_ARGS += \
|
||||
--include_descriptors_from_image $(firstword $(call images-for-partitions,$(1)))),\
|
||||
$(eval INTERNAL_AVB_MAKE_VBMETA_IMAGE_ARGS += \
|
||||
--include_descriptors_from_image $(call images-for-partitions,$(1))))))
|
||||
endef
|
||||
|
||||
# Checks and sets build variables for a custom chained partition to include it into vbmeta.img.
|
||||
|
|
|
@ -788,16 +788,16 @@ def AddImagesToTargetFiles(filename):
|
|||
boot_images = OPTIONS.info_dict.get("boot_images")
|
||||
if boot_images is None:
|
||||
boot_images = "boot.img"
|
||||
for b in boot_images.split():
|
||||
for index,b in enumerate(boot_images.split()):
|
||||
# common.GetBootableImage() returns the image directly if present.
|
||||
boot_image = common.GetBootableImage(
|
||||
"IMAGES/" + b, b, OPTIONS.input_tmp, "BOOT")
|
||||
# boot.img may be unavailable in some targets (e.g. aosp_arm64).
|
||||
if boot_image:
|
||||
boot_image_path = os.path.join(OPTIONS.input_tmp, "IMAGES", b)
|
||||
# vbmeta does not need to include boot.img with multiple boot.img files,
|
||||
# which is only used for aosp_arm64 for GKI
|
||||
if len(boot_images.split()) == 1:
|
||||
# Although multiple boot images can be generated, include the image
|
||||
# descriptor of only the first boot image in vbmeta
|
||||
if index == 0:
|
||||
partitions['boot'] = boot_image_path
|
||||
if not os.path.exists(boot_image_path):
|
||||
boot_image.WriteToDir(OPTIONS.input_tmp)
|
||||
|
|
Loading…
Reference in New Issue