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

Commit 3bfb87b9 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "support different boot partition sizes in aosp_arm64" am: def74b4c

Change-Id: Ifb89214358958ab0c2f407b98cef676c78ad2f21
parents 724ea1f3 def74b4c
Loading
Loading
Loading
Loading
+22 −7
Original line number Original line Diff line number Diff line
@@ -1093,6 +1093,15 @@ else
  BUILT_BOOTIMAGE_TARGET := $(PRODUCT_OUT)/boot.img
  BUILT_BOOTIMAGE_TARGET := $(PRODUCT_OUT)/boot.img
endif
endif


ifdef BOARD_BOOTIMAGE_PARTITION_SIZE
  BOARD_KERNEL_BOOTIMAGE_PARTITION_SIZE := $(BOARD_BOOTIMAGE_PARTITION_SIZE)
endif

# $1: boot image file name
# $2: boot image variant (boot, boot-debug)
define get-bootimage-partition-size
  $(BOARD_$(call to-upper,$(subst .img,,$(subst $(2),kernel,$(notdir $(1)))))_BOOTIMAGE_PARTITION_SIZE)
endef


ifneq ($(strip $(TARGET_NO_KERNEL)),true)
ifneq ($(strip $(TARGET_NO_KERNEL)),true)
INTERNAL_BOOTIMAGE_ARGS := \
INTERNAL_BOOTIMAGE_ARGS := \
@@ -2181,11 +2190,11 @@ define build-recoveryimage-target
  $(if $(filter true,$(PRODUCT_SUPPORTS_VBOOT)), \
  $(if $(filter true,$(PRODUCT_SUPPORTS_VBOOT)), \
    $(VBOOT_SIGNER) $(FUTILITY) $(1).unsigned $(PRODUCT_VBOOT_SIGNING_KEY).vbpubk $(PRODUCT_VBOOT_SIGNING_KEY).vbprivk $(PRODUCT_VBOOT_SIGNING_SUBKEY).vbprivk $(1).keyblock $(1))
    $(VBOOT_SIGNER) $(FUTILITY) $(1).unsigned $(PRODUCT_VBOOT_SIGNING_KEY).vbpubk $(PRODUCT_VBOOT_SIGNING_KEY).vbprivk $(PRODUCT_VBOOT_SIGNING_SUBKEY).vbprivk $(1).keyblock $(1))
  $(if $(filter true,$(BOARD_USES_RECOVERY_AS_BOOT)), \
  $(if $(filter true,$(BOARD_USES_RECOVERY_AS_BOOT)), \
    $(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))), \
    $(call assert-max-image-size,$(1),$(call get-hash-image-max-size,$(BOARD_RECOVERYIMAGE_PARTITION_SIZE))))
    $(call assert-max-image-size,$(1),$(call get-hash-image-max-size,$(BOARD_RECOVERYIMAGE_PARTITION_SIZE))))
  $(if $(filter true,$(BOARD_AVB_ENABLE)), \
  $(if $(filter true,$(BOARD_AVB_ENABLE)), \
    $(if $(filter true,$(BOARD_USES_RECOVERY_AS_BOOT)), \
    $(if $(filter true,$(BOARD_USES_RECOVERY_AS_BOOT)), \
      $(AVBTOOL) add_hash_footer --image $(1) --partition_size $(BOARD_BOOTIMAGE_PARTITION_SIZE) --partition_name boot $(INTERNAL_AVB_BOOT_SIGNING_ARGS) $(BOARD_AVB_BOOT_ADD_HASH_FOOTER_ARGS),\
      $(AVBTOOL) add_hash_footer --image $(1) --partition_size $(call get-bootimage-partition-size,$(1),boot) --partition_name boot $(INTERNAL_AVB_BOOT_SIGNING_ARGS) $(BOARD_AVB_BOOT_ADD_HASH_FOOTER_ARGS),\
      $(AVBTOOL) add_hash_footer --image $(1) --partition_size $(BOARD_RECOVERYIMAGE_PARTITION_SIZE) --partition_name recovery $(INTERNAL_AVB_RECOVERY_SIGNING_ARGS) $(BOARD_AVB_RECOVERY_ADD_HASH_FOOTER_ARGS)))
      $(AVBTOOL) add_hash_footer --image $(1) --partition_size $(BOARD_RECOVERYIMAGE_PARTITION_SIZE) --partition_name recovery $(INTERNAL_AVB_RECOVERY_SIGNING_ARGS) $(BOARD_AVB_RECOVERY_ADD_HASH_FOOTER_ARGS)))
endef
endef


@@ -2372,13 +2381,13 @@ BOARD_AVB_BOOT_TEST_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
INTERNAL_AVB_BOOT_TEST_SIGNING_ARGS := --algorithm SHA256_RSA2048 --key $(BOARD_AVB_BOOT_TEST_KEY_PATH)
INTERNAL_AVB_BOOT_TEST_SIGNING_ARGS := --algorithm SHA256_RSA2048 --key $(BOARD_AVB_BOOT_TEST_KEY_PATH)
# $(1): the bootimage to sign
# $(1): the bootimage to sign
define test-key-sign-bootimage
define test-key-sign-bootimage
$(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-debug)))
$(AVBTOOL) add_hash_footer \
$(AVBTOOL) add_hash_footer \
  --image $(1) \
  --image $(1) \
  --partition_size $(BOARD_BOOTIMAGE_PARTITION_SIZE) \
  --partition_size $(call get-bootimage-partition-size,$(1),boot-debug)\
  --partition_name boot $(INTERNAL_AVB_BOOT_TEST_SIGNING_ARGS) \
  --partition_name boot $(INTERNAL_AVB_BOOT_TEST_SIGNING_ARGS) \
  $(BOARD_AVB_BOOT_ADD_HASH_FOOTER_ARGS)
  $(BOARD_AVB_BOOT_ADD_HASH_FOOTER_ARGS)
$(call assert-max-image-size,$(1),$(BOARD_BOOTIMAGE_PARTITION_SIZE))
$(call assert-max-image-size,$(1),$(call get-bootimage-partition-size,$(1),boot-debug))
endef
endef


# $(1): output file
# $(1): output file
@@ -4122,6 +4131,11 @@ tool_extensions := $(TARGET_RELEASETOOLS_EXTENSIONS)
endif
endif
.KATI_READONLY := tool_extensions
.KATI_READONLY := tool_extensions


# $1: boot image file name
define misc_boot_size
$(subst .img,_size,$(1))=$(BOARD_KERNEL$(call to-upper,$(subst boot,,$(subst .img,,$(1))))_BOOTIMAGE_PARTITION_SIZE)
endef

$(INSTALLED_MISC_INFO_TARGET):
$(INSTALLED_MISC_INFO_TARGET):
	rm -f $@
	rm -f $@
	$(call pretty,"Target misc_info.txt: $@")
	$(call pretty,"Target misc_info.txt: $@")
@@ -4130,8 +4144,9 @@ $(INSTALLED_MISC_INFO_TARGET):
ifdef BOARD_FLASH_BLOCK_SIZE
ifdef BOARD_FLASH_BLOCK_SIZE
	$(hide) echo "blocksize=$(BOARD_FLASH_BLOCK_SIZE)" >> $@
	$(hide) echo "blocksize=$(BOARD_FLASH_BLOCK_SIZE)" >> $@
endif
endif
ifdef BOARD_BOOTIMAGE_PARTITION_SIZE
ifneq ($(strip $(BOARD_BOOTIMAGE_PARTITION_SIZE))$(strip $(BOARD_KERNEL_BINARIES)),)
	$(hide) echo "boot_size=$(BOARD_BOOTIMAGE_PARTITION_SIZE)" >> $@
	$(foreach b,$(INSTALLED_BOOTIMAGE_TARGET),\
		echo "$(call misc_boot_size,$(notdir $(b)))" >> $@;)
endif
endif
ifeq ($(INSTALLED_BOOTIMAGE_TARGET),)
ifeq ($(INSTALLED_BOOTIMAGE_TARGET),)
	$(hide) echo "no_boot=true" >> $@
	$(hide) echo "no_boot=true" >> $@
+3 −1
Original line number Original line Diff line number Diff line
@@ -60,7 +60,9 @@ TARGET_NO_KERNEL := false
TARGET_NO_VENDOR_BOOT := true
TARGET_NO_VENDOR_BOOT := true
BOARD_USES_RECOVERY_AS_BOOT := true
BOARD_USES_RECOVERY_AS_BOOT := true


BOARD_BOOTIMAGE_PARTITION_SIZE := 0x04000000
BOARD_KERNEL-5.4_BOOTIMAGE_PARTITION_SIZE := 67108864
BOARD_KERNEL-5.4-GZ_BOOTIMAGE_PARTITION_SIZE := 47185920
BOARD_KERNEL-5.4-LZ4_BOOTIMAGE_PARTITION_SIZE := 53477376
BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800
BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800


BOARD_BOOT_HEADER_VERSION := 3
BOARD_BOOT_HEADER_VERSION := 3
+10 −2
Original line number Original line Diff line number Diff line
@@ -677,9 +677,14 @@ def LoadInfoDict(input_file, repacking=False):
  makeint("userdata_size")
  makeint("userdata_size")
  makeint("cache_size")
  makeint("cache_size")
  makeint("recovery_size")
  makeint("recovery_size")
  makeint("boot_size")
  makeint("fstab_version")
  makeint("fstab_version")


  boot_images = "boot.img"
  if "boot_images" in d:
    boot_images = d["boot_images"]
  for b in boot_images.split():
    makeint(b.replace(".img","_size"))

  # Load recovery fstab if applicable.
  # Load recovery fstab if applicable.
  d["fstab"] = _FindAndLoadRecoveryFstab(d, input_file, read_helper)
  d["fstab"] = _FindAndLoadRecoveryFstab(d, input_file, read_helper)


@@ -1334,7 +1339,10 @@ def _BuildBootableImage(image_name, sourcedir, fs_config_file, info_dict=None,
  # AVB: if enabled, calculate and add hash to boot.img or recovery.img.
  # AVB: if enabled, calculate and add hash to boot.img or recovery.img.
  if info_dict.get("avb_enable") == "true":
  if info_dict.get("avb_enable") == "true":
    avbtool = info_dict["avb_avbtool"]
    avbtool = info_dict["avb_avbtool"]
    part_size = info_dict[partition_name + "_size"]
    if partition_name == "recovery":
      part_size = info_dict["recovery_size"]
    else:
      part_size = info_dict[image_name.replace(".img","_size")]
    cmd = [avbtool, "add_hash_footer", "--image", img.name,
    cmd = [avbtool, "add_hash_footer", "--image", img.name,
           "--partition_size", str(part_size), "--partition_name",
           "--partition_size", str(part_size), "--partition_name",
           partition_name]
           partition_name]