Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 18198602 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Include image descriptor of only the first boot image in vbmeta" into rvc-dev am: 6df396f9

Original change: https://googleplex-android-review.googlesource.com/c/platform/build/+/11875347

Change-Id: I4a16cbba024263e0cd9f4b57c99adcd0f0287770
parents 22abfbde 6df396f9
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -3534,6 +3534,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)))
@@ -3542,8 +3545,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),,\
        $(if $(filter boot,$(1)),\
            $(eval INTERNAL_AVB_MAKE_VBMETA_IMAGE_ARGS += \
            --include_descriptors_from_image $(call images-for-partitions,$(1)))))
                --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.
+4 −4
Original line number Diff line number Diff line
@@ -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)