sdm710-common: Retrofit dynamic partitions

* Merge system, vendor and cust, giving us a whopping 6.4GB of space, pretty nice
* Mark standard block devices as super block devices (from https://source.android.com/devices/tech/ota/dynamic_partitions/implement?hl=en#selinux-legacy)

Change-Id: I2553aad99f5c458cf6ac6b4265dc5840127c13e9
This commit is contained in:
Sebastiano Barezzi
2022-09-08 23:40:58 +02:00
parent 9e81a9afbe
commit 68de91771d
5 changed files with 45 additions and 6 deletions

View File

@@ -89,14 +89,37 @@ BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
BOARD_USERDATAIMAGE_PARTITION_SIZE := 114898743296
BOARD_USES_METADATA_PARTITION := true
PARTITIONS_LIST := system vendor
SSI_PARTITIONS := product system system_ext
TREBLE_PARTITIONS := odm vendor
ALL_PARTITIONS := $(SSI_PARTITIONS) $(TREBLE_PARTITIONS)
$(foreach p, $(call to-upper, $(PARTITIONS_LIST)), \
$(foreach p, $(call to-upper, $(ALL_PARTITIONS)), \
$(eval BOARD_$(p)IMAGE_FILE_SYSTEM_TYPE := ext4) \
$(eval TARGET_COPY_OUT_$(p) := $(call to-lower, $(p))))
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3758096384
BOARD_VENDORIMAGE_PARTITION_SIZE := 1610612736
# Partitions - dynamic
BOARD_SUPER_PARTITION_SIZE := 6442450944
BOARD_SUPER_PARTITION_GROUPS := qti_dynamic_partitions
BOARD_QTI_DYNAMIC_PARTITIONS_PARTITION_LIST := $(ALL_PARTITIONS)
BOARD_QTI_DYNAMIC_PARTITIONS_SIZE := 6442446848 # (BOARD_SUPER_PARTITION_SIZE - 4MB)
BOARD_SUPER_PARTITION_BLOCK_DEVICES := system vendor cust
BOARD_SUPER_PARTITION_SYSTEM_DEVICE_SIZE := 3758096384
BOARD_SUPER_PARTITION_VENDOR_DEVICE_SIZE := 1610612736
BOARD_SUPER_PARTITION_CUST_DEVICE_SIZE := 1073741824
BOARD_SUPER_PARTITION_METADATA_DEVICE := system
# Partitions - reserved size
ifneq ($(WITH_GMS),true)
$(foreach p, $(call to-upper, $(SSI_PARTITIONS)), \
$(eval BOARD_$(p)IMAGE_EXTFS_INODE_COUNT := -1))
SSI_PARTITIONS_RESERVED_SIZE := 1258291200
else
SSI_PARTITIONS_RESERVED_SIZE := 30720000
endif
$(foreach p, $(call to-upper, $(SSI_PARTITIONS)), \
$(eval BOARD_$(p)IMAGE_PARTITION_RESERVED_SIZE := $(SSI_PARTITIONS_RESERVED_SIZE)))
$(foreach p, $(call to-upper, $(TREBLE_PARTITIONS)), \
$(eval BOARD_$(p)IMAGE_PARTITION_RESERVED_SIZE := 30720000))
# Platform
BOARD_VENDOR := xiaomi

View File

@@ -10,8 +10,11 @@
/dev/block/bootdevice/by-name/recovery /recovery emmc defaults defaults
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults
/dev/block/by-name/system /system ext4 ro,barrier=1,discard wait,avb,first_stage_mount
/dev/block/by-name/vendor /vendor ext4 ro,barrier=1,discard wait,avb,first_stage_mount
system /system ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey
system_ext /system_ext ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount
product /product ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount
vendor /vendor ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount
odm /odm ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount
/dev/block/bootdevice/by-name/cache /cache ext4 nosuid,noatime,nodev,barrier=1 wait
/dev/block/by-name/logdump /metadata ext4 noatime,nosuid,nodev,discard wait,check,formattable,first_stage_mount

View File

@@ -151,6 +151,10 @@ PRODUCT_PACKAGES += \
PRODUCT_PACKAGES += \
android.hardware.drm@1.4.vendor
# fastbootd
PRODUCT_PACKAGES += \
fastbootd
# Fingerprint
PRODUCT_PACKAGES += \
android.hardware.biometrics.fingerprint@2.3-service.xiaomi
@@ -302,6 +306,9 @@ DEVICE_PACKAGE_OVERLAYS += \
PRODUCT_ENFORCE_RRO_TARGETS := *
PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS += $(LOCAL_PATH)/overlay/packages/apps/CarrierConfig
# Partitions
PRODUCT_USE_DYNAMIC_PARTITIONS := true
# Perf
PRODUCT_PACKAGES += \
libqti-perfd-client

View File

@@ -4,4 +4,6 @@ type gps_device, dev_type;
type lirc_device, dev_type;
typeattribute system_block_device super_block_device_type;
type ultrasound_device, dev_type;

View File

@@ -2,6 +2,10 @@
/dev/socket/audio_hw_socket u:object_r:audio_socket:s0
/mnt/vendor/persist/audio(/.*)? u:object_r:persist_audio_file:s0
# Block devices
/dev/block/platform/soc/1d84000.ufshc/by-name/cust u:object_r:system_block_device:s0
/dev/block/platform/soc/7c4000.sdhci/by-name/cust u:object_r:system_block_device:s0
# Camera
/mnt/vendor/persist/camera(/.*)? u:object_r:persist_camera_file:s0
/vendor/bin/remosaic_daemon u:object_r:remosaic_daemon_exec:s0