Build image for clean super partition.
This adds a new super_empty.img output to the build when PRODUCT_USE_LOGICAL_PARTITIONS is true and a super partition size is set. This will be used by fastboot flashall in fastbootd, since it needs a record of the partition layout in case the super partition is corrupt or not yet flashed. The full super.img (which contains embedded partition data) is still available via "make dist". Bug: 78793464 Test: super_empty.img generated when PRODUCT_USE_LOGICAL_PARTITIONS is true Change-Id: I9f00b07e5b685a3230803fa1a5a569544d0ab625
This commit is contained in:
@@ -2627,19 +2627,20 @@ ifeq (true,$(PRODUCT_BUILD_SUPER_PARTITION))
|
||||
ifdef BOARD_SUPER_PARTITION_SIZE
|
||||
|
||||
INSTALLED_SUPERIMAGE_TARGET := $(PRODUCT_OUT)/super.img
|
||||
INSTALLED_SUPERIMAGE_EMPTY_TARGET := $(PRODUCT_OUT)/super_empty.img
|
||||
|
||||
$(INSTALLED_SUPERIMAGE_TARGET): $(call image-for-partitions,$(BOARD_SUPER_PARTITION_PARTITION_LIST))
|
||||
|
||||
# For A/B devices, super partition always contains sub-partitions in the _a slot, because this
|
||||
# image should only be used for bootstrapping / initializing the device. When flashing the image,
|
||||
# bootloader fastboot should always mark _a slot as bootable.
|
||||
ifeq ($(AB_OTA_UPDATER),true)
|
||||
$(INSTALLED_SUPERIMAGE_TARGET): PRIVATE_PARTITION_SUFFIX=_a
|
||||
$(INSTALLED_SUPERIMAGE_TARGET): PRIVATE_METADATA_SLOTS=2
|
||||
$(INSTALLED_SUPERIMAGE_TARGET) $(INSTALLED_SUPERIMAGE_EMPTY_TARGET): PRIVATE_PARTITION_SUFFIX=_a
|
||||
$(INSTALLED_SUPERIMAGE_TARGET) $(INSTALLED_SUPERIMAGE_EMPTY_TARGET): PRIVATE_METADATA_SLOTS=2
|
||||
else
|
||||
$(INSTALLED_SUPERIMAGE_TARGET): PRIVATE_METADATA_SLOTS=1
|
||||
$(INSTALLED_SUPERIMAGE_TARGET) $(INSTALLED_SUPERIMAGE_EMPTY_TARGET): PRIVATE_METADATA_SLOTS=1
|
||||
endif # AB_OTA_UPDATER
|
||||
|
||||
|
||||
$(INSTALLED_SUPERIMAGE_TARGET): $(HOST_OUT_EXECUTABLES)/lpmake
|
||||
$< \
|
||||
--sparse \
|
||||
@@ -2653,6 +2654,18 @@ $(INSTALLED_SUPERIMAGE_TARGET): $(HOST_OUT_EXECUTABLES)/lpmake
|
||||
|
||||
$(call dist-for-goals,dist_files,$(INSTALLED_SUPERIMAGE_TARGET))
|
||||
|
||||
$(INSTALLED_SUPERIMAGE_EMPTY_TARGET): $(HOST_OUT_EXECUTABLES)/lpmake
|
||||
$< \
|
||||
--sparse \
|
||||
--metadata-size 65536 \
|
||||
--metadata-slots $(PRIVATE_METADATA_SLOTS) \
|
||||
--device-size $(BOARD_SUPER_PARTITION_SIZE) \
|
||||
--output $@ \
|
||||
$(foreach name,$(BOARD_SUPER_PARTITION_PARTITION_LIST), \
|
||||
--partition $(name)$(PRIVATE_PARTITION_SUFFIX):$$($(UUIDGEN) $(name)$(PRIVATE_SUPER_PARTITION_SUFFIX)):readonly:$(call read-size-of-partitions,$(name)))
|
||||
|
||||
$(call dist-for-goals,dist_files,$(INSTALLED_SUPERIMAGE_EMPTY_TARGET))
|
||||
|
||||
endif # BOARD_SUPER_PARTITION_SIZE
|
||||
endif # PRODUCT_BUILD_SUPER_PARTITION
|
||||
|
||||
|
@@ -1208,6 +1208,9 @@ systemotherimage: $(INSTALLED_SYSTEMOTHERIMAGE_TARGET)
|
||||
.PHONY: superimage
|
||||
superimage: $(INSTALLED_SUPERIMAGE_TARGET)
|
||||
|
||||
.PHONY: superimage_empty
|
||||
superimage_empty: $(INSTALLED_SUPERIMAGE_EMPTY_TARGET)
|
||||
|
||||
.PHONY: bootimage
|
||||
bootimage: $(INSTALLED_BOOTIMAGE_TARGET)
|
||||
|
||||
@@ -1228,6 +1231,7 @@ droidcore: files \
|
||||
$(INSTALLED_CACHEIMAGE_TARGET) \
|
||||
$(INSTALLED_BPTIMAGE_TARGET) \
|
||||
$(INSTALLED_VENDORIMAGE_TARGET) \
|
||||
$(INSTALLED_SUPERIMAGE_EMPTY_TARGET) \
|
||||
$(INSTALLED_PRODUCTIMAGE_TARGET) \
|
||||
$(INSTALLED_SYSTEMOTHERIMAGE_TARGET) \
|
||||
$(INSTALLED_FILES_FILE) \
|
||||
|
Reference in New Issue
Block a user