From 86ca39a74c822e1cda4bb42e842ea0cb4a1d66c6 Mon Sep 17 00:00:00 2001 From: Sebastiano Barezzi Date: Thu, 9 Feb 2023 08:54:28 +0000 Subject: [PATCH] r5x: Retrofit Dynamic Partitions Signed-off-by: takumi021 --- BoardConfig.mk | 22 +++++++++++++--------- device.mk | 3 +++ recovery/root/system/etc/recovery.fstab | 6 ++++++ 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/BoardConfig.mk b/BoardConfig.mk index 0c26209..e5d0976 100644 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -83,15 +83,19 @@ BOARD_AVB_RECOVERY_ROLLBACK_INDEX := 1 BOARD_AVB_RECOVERY_ROLLBACK_INDEX_LOCATION := 1 # Partitions -BOARD_FLASH_BLOCK_SIZE := 262144 -BOARD_BOOTIMAGE_PARTITION_SIZE := 67108864 -BOARD_RECOVERYIMAGE_PARTITION_SIZE := 67108864 -BOARD_SYSTEMIMAGE_PARTITION_SIZE := 5114429440 -BOARD_SYSTEMIMAGE_PARTITION_TYPE := ext4 -BOARD_USERDATAIMAGE_PARTITION_SIZE := 12884901888 -BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := ext4 -BOARD_VENDORIMAGE_PARTITION_SIZE := 1452277760 -BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_FLASH_BLOCK_SIZE := 131072 # (BOARD_KERNEL_PAGESIZE * 64) +BOARD_RECOVERYIMAGE_PARTITION_SIZE := 0x04000000 +TARGET_COPY_OUT_VENDOR := vendor + +BOARD_SUPER_PARTITION_BLOCK_DEVICES := vendor system +BOARD_SUPER_PARTITION_METADATA_DEVICE := system +BOARD_SUPER_PARTITION_VENDOR_DEVICE_SIZE := 1452277760 +BOARD_SUPER_PARTITION_SYSTEM_DEVICE_SIZE := 5114429440 +BOARD_SUPER_PARTITION_SIZE := $(shell expr $(BOARD_SUPER_PARTITION_VENDOR_DEVICE_SIZE) + $(BOARD_SUPER_PARTITION_SYSTEM_DEVICE_SIZE) ) + +BOARD_SUPER_PARTITION_GROUPS := r5x_dynpart +BOARD_R5X_DYNPART_SIZE := $(shell expr $(BOARD_SUPER_PARTITION_SIZE) - 4194304 ) +BOARD_R5X_DYNPART_PARTITION_LIST := odm product system system_ext vendor # Init #TARGET_INIT_VENDOR_LIB := libinit_r5x diff --git a/device.mk b/device.mk index d9bd9ba..6f7a9c6 100644 --- a/device.mk +++ b/device.mk @@ -43,3 +43,6 @@ PRODUCT_PACKAGES += \ # Soong namespaces PRODUCT_SOONG_NAMESPACES += \ $(LOCAL_PATH) + +# Partitions +PRODUCT_USE_DYNAMIC_PARTITIONS := true diff --git a/recovery/root/system/etc/recovery.fstab b/recovery/root/system/etc/recovery.fstab index f95394f..a87a307 100644 --- a/recovery/root/system/etc/recovery.fstab +++ b/recovery/root/system/etc/recovery.fstab @@ -7,3 +7,9 @@ /dev/block/bootdevice/by-name/userdata /data f2fs nosuid,nodev,noatime,inline_xattr,data_flush,fsync_mode=nobarrier latemount,wait,check,fileencryption=ice,quota /dev/block/bootdevice/by-name/misc /misc emmc defaults defaults + +system /system ext4 rw,barrier=1,discard wait,logical +system_ext /system_ext ext4 rw,barrier=1,discard wait,logical +product /product ext4 rw,barrier=1,discard wait,logical +vendor /vendor ext4 rw,barrier=1,discard wait,logical +odm /odm ext4 rw,barrier=1,discard wait,logical