From 5f8ce774dd0f73444be15295a4778857d120e4a7 Mon Sep 17 00:00:00 2001 From: Cyber Knight Date: Fri, 27 May 2022 19:49:01 +0800 Subject: [PATCH] sm6150-common: Switch to EROFS for relevant partitions - EROFS offers much more compressed partition sizes compared to the likes of ext4 albeit being read-only. - We have switched to EROFS for /system, /system_ext, /product, /odm and /vendor. - This patch was inspired by [1]. [1]: https://github.com/PixelOS-Devices/device_oneplus_sm8150-common/commit/2b52a004086ecdd095b7dfd630f0ee13a9ff91b7 Change-Id: I438f6b88ede93fe7e5d581439ba630b5c5440a48 Signed-off-by: Cyber Knight Signed-off-by: donjohanliebert --- BoardConfigCommon.mk | 10 +++++----- rootdir/etc/fstab.default | 5 +++++ rootdir/etc/fstab.emmc | 5 +++++ rootdir/etc/recovery.fstab | 4 ++++ 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk index c1522ab..d1b0389 100644 --- a/BoardConfigCommon.mk +++ b/BoardConfigCommon.mk @@ -109,11 +109,11 @@ BOARD_SUPER_PARTITION_GROUPS := qti_dynamic_partitions BOARD_QTI_DYNAMIC_PARTITIONS_PARTITION_LIST := odm product system system_ext vendor BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4 -BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := ext4 -BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4 -BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4 -BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4 -BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_ODMIMAGE_FILE_SYSTEM_TYPE := erofs +BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := erofs +BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := erofs +BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := erofs +BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := erofs BOARD_USES_METADATA_PARTITION := true diff --git a/rootdir/etc/fstab.default b/rootdir/etc/fstab.default index 0547a60..a71c1da 100644 --- a/rootdir/etc/fstab.default +++ b/rootdir/etc/fstab.default @@ -34,10 +34,15 @@ # 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 /system erofs ro 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 +system_ext /system_ext erofs ro wait,avb,logical,first_stage_mount product /product ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount +product /product erofs ro wait,avb,logical,first_stage_mount vendor /vendor ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount +vendor /vendor erofs ro wait,avb,logical,first_stage_mount odm /odm ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount +odm /odm erofs ro wait,avb,logical,first_stage_mount /dev/block/bootdevice/by-name/cache /cache ext4 nosuid,noatime,nodev,barrier=1 wait /dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard wait,check,formattable,first_stage_mount diff --git a/rootdir/etc/fstab.emmc b/rootdir/etc/fstab.emmc index 9740b17..740cd22 100644 --- a/rootdir/etc/fstab.emmc +++ b/rootdir/etc/fstab.emmc @@ -34,10 +34,15 @@ # 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 /system erofs ro 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 +system_ext /system_ext erofs ro wait,avb,logical,first_stage_mount product /product ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount +product /product erofs ro wait,avb,logical,first_stage_mount vendor /vendor ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount +vendor /vendor erofs ro wait,avb,logical,first_stage_mount odm /odm ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount +odm /odm erofs ro wait,avb,logical,first_stage_mount /dev/block/bootdevice/by-name/cache /cache ext4 nosuid,noatime,nodev,barrier=1 wait /dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard wait,formattable,first_stage_mount diff --git a/rootdir/etc/recovery.fstab b/rootdir/etc/recovery.fstab index c06ca26..184f099 100644 --- a/rootdir/etc/recovery.fstab +++ b/rootdir/etc/recovery.fstab @@ -30,9 +30,13 @@ #device mount point fstype [device2] [length=] system /system ext4 ro,barrier=1,discard wait,avb=vbmeta_system,logical,first_stage_mount +system /system erofs ro wait,avb=vbmeta_system,logical,first_stage_mount system_ext /system_ext ext4 ro,barrier=1,discard wait,avb=vbmeta_system,logical,first_stage_mount +system_ext /system_ext erofs ro wait,avb=vbmeta_system,logical,first_stage_mount vendor /vendor ext4 ro,barrier=1,discard wait,avb,logical,first_stage_mount +vendor /vendor erofs ro wait,avb,logical,first_stage_mount product /product ext4 ro,barrier=1,discard wait,avb=vbmeta_system,logical,first_stage_mount +product /product erofs ro wait,avb=vbmeta_system,logical,first_stage_mount /dev/block/bootdevice/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered wait,check /dev/block/bootdevice/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard wait,check,formattable,first_stage_mount /dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard wait,check,encryptable=footer