yukawa: Add TARGET_RO_FILE_SYSTEM_TYPE compile option

Bug: 246571396
Test: make TARGET_RO_FILE_SYSTEM_TYPE=erofs -j24

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Change-Id: If2ee5b5c8bfafac121e680e3904856a8b57dda28
diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk
index 5eb91d2..6a637d3 100644
--- a/BoardConfigCommon.mk
+++ b/BoardConfigCommon.mk
@@ -61,8 +61,9 @@
 
 BOARD_BOOTIMAGE_PARTITION_SIZE := 33554432
 BOARD_DTBOIMG_PARTITION_SIZE := 8388608 # 8 MiB
-BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE ?= ext4
-BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
+BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := $(TARGET_RO_FILE_SYSTEM_TYPE)
+BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := $(TARGET_RO_FILE_SYSTEM_TYPE)
+TARGET_USERIMAGES_SPARSE_EROFS_DISABLED ?= true
 ifneq ($(TARGET_USE_AB_SLOT), true)
 BOARD_CACHEIMAGE_PARTITION_SIZE := 268435456
 BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
diff --git a/device-common.mk b/device-common.mk
index 39a4423..9056b17 100644
--- a/device-common.mk
+++ b/device-common.mk
@@ -73,6 +73,9 @@
     bootctrl.yukawa
 endif
 
+# System RO FS Type
+TARGET_RO_FILE_SYSTEM_TYPE ?= ext4
+
 # Dynamic partitions
 PRODUCT_BUILD_SUPER_PARTITION := true
 PRODUCT_USE_DYNAMIC_PARTITIONS := true
diff --git a/fstab.ramdisk.common b/fstab.ramdisk.common
index 5f6e84e..def6026 100644
--- a/fstab.ramdisk.common
+++ b/fstab.ramdisk.common
@@ -1,2 +1,4 @@
+system		/system		erofs	ro				wait,logical,first_stage_mount
 system		/system		ext4	noatime,ro,errors=panic		wait,logical,first_stage_mount
+vendor		/vendor		erofs	ro				wait,logical,first_stage_mount
 vendor		/vendor		ext4	noatime,ro,errors=panic		wait,logical,first_stage_mount
diff --git a/fstab.ramdisk.common.avb b/fstab.ramdisk.common.avb
index 9123f63..bee8400 100644
--- a/fstab.ramdisk.common.avb
+++ b/fstab.ramdisk.common.avb
@@ -1,2 +1,4 @@
+system		/system		erofs	ro				wait,avb=vbmeta,logical,first_stage_mount
 system		/system		ext4	noatime,ro,errors=panic		wait,avb=vbmeta,logical,first_stage_mount
+vendor		/vendor		erofs	ro				wait,avb,logical,first_stage_mount
 vendor		/vendor		ext4	noatime,ro,errors=panic		wait,avb,logical,first_stage_mount
diff --git a/fstab.recovery.yukawa b/fstab.recovery.yukawa
index a5af82c..9fddb1e 100644
--- a/fstab.recovery.yukawa
+++ b/fstab.recovery.yukawa
@@ -1,8 +1,10 @@
+system		/system		erofs	ro				wait,logical,first_stage_mount
 system		/system		ext4	noatime,ro,errors=panic		wait,logical,first_stage_mount
+vendor		/vendor		erofs	ro				wait,logical,first_stage_mount
 vendor		/vendor		ext4	noatime,ro,errors=panic		wait,logical,first_stage_mount
-/dev/block/platform/soc/ffe07000.mmc/by-name/userdata       /data               f2fs      noatime,nosuid,nodev    latemount,wait,check,quota,fileencryption=software,quota
-/dev/block/platform/soc/ffe07000.mmc/by-name/userdata       /data               ext4      noatime,nosuid,nodev,nodelalloc,nomblk_io_submit,errors=panic    latemount,wait,check,quota,formattable,reservedsize=32M
-/dev/block/platform/soc/ffe07000.mmc/by-name/cache      /cache              ext4      noatime,nosuid,nodev,nodelalloc,nomblk_io_submit,errors=panic    latemount,wait,check,formattable
+/dev/block/platform/soc/ffe07000.mmc/by-name/userdata     /data           f2fs    noatime,nosuid,nodev    latemount,wait,check,quota,fileencryption=software,quota
+/dev/block/platform/soc/ffe07000.mmc/by-name/userdata     /data           ext4    noatime,nosuid,nodev,nodelalloc,nomblk_io_submit,errors=panic    latemount,wait,check,quota,formattable,reservedsize=32M
+/dev/block/platform/soc/ffe07000.mmc/by-name/cache        /cache          ext4    noatime,nosuid,nodev,nodelalloc,nomblk_io_submit,errors=panic    latemount,wait,check,formattable
 /dev/block/platform/soc/ffe07000.mmc/by-name/misc         /misc           emmc    defaults           defaults
 /dev/block/platform/soc/ffe07000.mmc/by-name/recovery     /recovery       emmc    defaults                defaults
 /dev/block/platform/soc/ffe07000.mmc/by-name/boot         /boot           emmc    defaults                defaults
\ No newline at end of file
diff --git a/fstab.recovery.yukawa.avb b/fstab.recovery.yukawa.avb
index a758697..0dbc5ba 100644
--- a/fstab.recovery.yukawa.avb
+++ b/fstab.recovery.yukawa.avb
@@ -1,8 +1,10 @@
+system		/system		erofs	ro				wait,avb=vbmeta,logical,first_stage_mount
 system		/system		ext4	noatime,ro,errors=panic		wait,avb=vbmeta,logical,first_stage_mount
+vendor		/vendor		erofs	ro				wait,avb,logical,first_stage_mount
 vendor		/vendor		ext4	noatime,ro,errors=panic		wait,avb,logical,first_stage_mount
-/dev/block/platform/soc/ffe07000.mmc/by-name/userdata       /data               f2fs      noatime,nosuid,nodev    latemount,wait,check,quota,fileencryption=software,quota
-/dev/block/platform/soc/ffe07000.mmc/by-name/userdata       /data               ext4      noatime,nosuid,nodev,nodelalloc,nomblk_io_submit,errors=panic    latemount,wait,check,quota,formattable,reservedsize=32M
-/dev/block/platform/soc/ffe07000.mmc/by-name/cache      /cache              ext4      noatime,nosuid,nodev,nodelalloc,nomblk_io_submit,errors=panic    latemount,wait,check,formattable
+/dev/block/platform/soc/ffe07000.mmc/by-name/userdata     /data           f2fs    noatime,nosuid,nodev    latemount,wait,check,quota,fileencryption=software,quota
+/dev/block/platform/soc/ffe07000.mmc/by-name/userdata     /data           ext4    noatime,nosuid,nodev,nodelalloc,nomblk_io_submit,errors=panic    latemount,wait,check,quota,formattable,reservedsize=32M
+/dev/block/platform/soc/ffe07000.mmc/by-name/cache        /cache          ext4    noatime,nosuid,nodev,nodelalloc,nomblk_io_submit,errors=panic    latemount,wait,check,formattable
 /dev/block/platform/soc/ffe07000.mmc/by-name/misc         /misc           emmc    defaults           defaults
 /dev/block/platform/soc/ffe07000.mmc/by-name/recovery     /recovery       emmc    defaults                defaults
 /dev/block/platform/soc/ffe07000.mmc/by-name/boot         /boot           emmc    defaults                defaults
\ No newline at end of file
diff --git a/fstab.yukawa b/fstab.yukawa
index 169a376..409f076 100644
--- a/fstab.yukawa
+++ b/fstab.yukawa
@@ -2,8 +2,10 @@
 /dev/block/platform/soc/ffe07000.mmc/by-name/userdata   /data           ext4    noatime,nosuid,nodev,nodelalloc,nomblk_io_submit,errors=panic   latemount,wait,check,quota,formattable,reservedsize=32M
 /dev/block/platform/soc/ffe07000.mmc/by-name/cache      /cache          ext4    noatime,nosuid,nodev,nodelalloc,nomblk_io_submit,errors=panic   latemount,wait,check,formattable
 /dev/block/platform/soc/ffe07000.mmc/by-name/misc       /misc           emmc    defaults                                                        defaults
+system                                                  /system         erofs   ro                                                              wait,logical,first_stage_mount
 system                                                  /system         ext4    ro,barrier=1                                                    wait,logical,first_stage_mount
+vendor                                                  /vendor         erofs   ro                                                              wait,logical,first_stage_mount
 vendor                                                  /vendor         ext4    ro,barrier=1                                                    wait,logical,first_stage_mount
-*/block/mmcblk0						auto            auto    defaults                                                        voldmanaged=sdcard1:auto,encryptable=userdata
+*/block/mmcblk0                                         auto            auto    defaults                                                        voldmanaged=sdcard1:auto,encryptable=userdata
 */block/sd*                                             auto            auto    defaults                                                        voldmanaged=usb:auto,noemulatedsd
 /dev/block/zram0                                        none            swap    defaults                                                        zramsize=268435456
diff --git a/fstab.yukawa.ab b/fstab.yukawa.ab
index e48fb5c..a3c0be4 100644
--- a/fstab.yukawa.ab
+++ b/fstab.yukawa.ab
@@ -1,4 +1,6 @@
+system				/system		erofs	ro								wait,slotselect,logical,first_stage_mount
 system				/system		ext4	noatime,ro,errors=panic						wait,slotselect,logical,first_stage_mount
+vendor				/vendor		erofs	ro								wait,slotselect,logical,first_stage_mount
 vendor				/vendor		ext4	noatime,ro,errors=panic						wait,slotselect,logical,first_stage_mount
 /dev/block/by-name/userdata	/data		f2fs	noatime,nosuid,nodev						latemount,wait,check,quota,fileencryption=software,quota
 /dev/block//by-name/userdata	/data		ext4	noatime,nosuid,nodev,nodelalloc,nomblk_io_submit,errors=panic	latemount,wait,check,quota,formattable,reservedsize=32M
diff --git a/fstab.yukawa.avb.ab b/fstab.yukawa.avb.ab
index cc6b618..e6c18fc 100644
--- a/fstab.yukawa.avb.ab
+++ b/fstab.yukawa.avb.ab
@@ -1,4 +1,6 @@
+system				/system		erofs	ro								wait,slotselect,avb=vbmeta,logical,first_stage_mount
 system				/system		ext4	noatime,ro,errors=panic						wait,slotselect,avb=vbmeta,logical,first_stage_mount
+vendor				/vendor		erofs	ro								wait,slotselect,avb,logical,first_stage_mount
 vendor				/vendor		ext4	noatime,ro,errors=panic						wait,slotselect,avb,logical,first_stage_mount
 /dev/block/by-name/userdata	/data		f2fs	noatime,nosuid,nodev						latemount,wait,check,quota,fileencryption=software,quota
 /dev/block//by-name/userdata	/data		ext4	noatime,nosuid,nodev,nodelalloc,nomblk_io_submit,errors=panic	latemount,wait,check,quota,formattable,reservedsize=32M