diff --git a/core/Makefile b/core/Makefile index ad9b452c1..4309e2cad 100644 --- a/core/Makefile +++ b/core/Makefile @@ -1321,6 +1321,7 @@ endif # PRODUCT_USE_DYNAMIC_PARTITIONS define generate-image-prop-dictionary $(if $(filter $(2),system),\ $(if $(BOARD_SYSTEMIMAGE_PARTITION_SIZE),$(hide) echo "system_size=$(BOARD_SYSTEMIMAGE_PARTITION_SIZE)" >> $(1)) + $(if $(INTERNAL_SYSTEM_OTHER_PARTITION_SIZE),$(hide) echo "system_other_size=$(INTERNAL_SYSTEM_OTHER_PARTITION_SIZE)" >> $(1)) $(if $(BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE),$(hide) echo "system_fs_type=$(BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE)" >> $(1)) $(if $(BOARD_SYSTEMIMAGE_EXTFS_INODE_COUNT),$(hide) echo "system_extfs_inode_count=$(BOARD_SYSTEMIMAGE_EXTFS_INODE_COUNT)" >> $(1)) $(if $(BOARD_SYSTEMIMAGE_EXTFS_RSV_PCT),$(hide) echo "system_extfs_rsv_pct=$(BOARD_SYSTEMIMAGE_EXTFS_RSV_PCT)" >> $(1)) @@ -2517,6 +2518,17 @@ $(INSTALLED_FILES_FILE_SYSTEMOTHER) : $(INTERNAL_SYSTEMOTHERIMAGE_FILES) $(FILES $(hide) $(FILESLIST) $(TARGET_OUT_SYSTEM_OTHER) > $(@:.txt=.json) $(hide) build/make/tools/fileslist_util.py -c $(@:.txt=.json) > $@ +# Determines partition size for system_other.img. +ifeq ($(PRODUCT_RETROFIT_DYNAMIC_PARTITIONS),true) +ifneq ($(filter system,$(BOARD_SUPER_PARTITION_BLOCK_DEVICES)),) +INTERNAL_SYSTEM_OTHER_PARTITION_SIZE := $(BOARD_SUPER_PARTITION_SYSTEM_DEVICE_SIZE) +endif +endif + +ifndef INTERNAL_SYSTEM_OTHER_PARTITION_SIZE +INTERNAL_SYSTEM_OTHER_PARTITION_SIZE:= $(BOARD_SYSTEMIMAGE_PARTITION_SIZE) +endif + systemotherimage_intermediates := \ $(call intermediates-dir-for,PACKAGING,system_other) BUILT_SYSTEMOTHERIMAGE_TARGET := $(PRODUCT_OUT)/system_other.img @@ -2533,7 +2545,7 @@ define build-systemotherimage-target $(systemotherimage_intermediates)/generated_system_other_image_info.txt $(hide) $(call assert-max-image-size,$(INSTALLED_SYSTEMOTHERIMAGE_TARGET),\ $(call read-image-prop-dictionary,\ - $(systemotherimage_intermediates)/generated_system_other_image_info.txt,system_size)) + $(systemotherimage_intermediates)/generated_system_other_image_info.txt,system_other_size)) endef # We just build this directly to the install location. diff --git a/tools/releasetools/build_image.py b/tools/releasetools/build_image.py index ba1d60ea9..d2f4e259b 100755 --- a/tools/releasetools/build_image.py +++ b/tools/releasetools/build_image.py @@ -576,7 +576,7 @@ def ImagePropFromGlobalDict(glob_dict, mount_point): copy_prop("avb_system_other_algorithm", "avb_algorithm") copy_prop("fs_type", "fs_type") copy_prop("system_fs_type", "fs_type") - copy_prop("system_size", "partition_size") + copy_prop("system_other_size", "partition_size") if not copy_prop("system_journal_size", "journal_size"): d["journal_size"] = "0" copy_prop("system_verity_block_device", "verity_block_device") @@ -723,7 +723,7 @@ def GlobalDictFromImageProp(image_prop, mount_point): if mount_point == "system": copy_prop("partition_size", "system_size") elif mount_point == "system_other": - copy_prop("partition_size", "system_size") + copy_prop("partition_size", "system_other_size") elif mount_point == "vendor": copy_prop("partition_size", "vendor_size") elif mount_point == "odm":