conf: support to mount modem erofs image

- Create fstab.modem for modem as flexibility.
- Add and support both erofs and ext4 images for compatibility.

Bug: 201348703
Change-Id: Idc6dd8ef8f044c764f2811469806ee9e6defb87f
diff --git a/conf/fstab.gs201.in b/conf/fstab.gs201.in
index a780227..79f8cc8 100644
--- a/conf/fstab.gs201.in
+++ b/conf/fstab.gs201.in
@@ -15,7 +15,6 @@
 /dev/block/platform/14700000.ufs/by-name/efs             /mnt/vendor/efs             f2fs    noatime,sync             wait,check,formattable
 /dev/block/platform/14700000.ufs/by-name/efs_backup      /mnt/vendor/efs_backup      f2fs    noatime,sync             wait,check,formattable
 /dev/block/platform/14700000.ufs/by-name/modem_userdata  /mnt/vendor/modem_userdata  f2fs    noatime,sync             wait,check,formattable
-/dev/block/platform/14700000.ufs/by-name/modem           /mnt/vendor/modem_img       ext4    ro,defaults,context=u:object_r:modem_img_file:s0,barrier=1    wait,slotselect
 /dev/block/platform/14700000.ufs/by-name/misc            /misc                       emmc    defaults                 wait
 /dev/block/platform/14700000.ufs/by-name/metadata        /metadata                   f2fs    noatime,nosuid,nodev,sync  wait,check,formattable,first_stage_mount
 #/dev/block/platform/14700000.ufs/by-name/pvmfw           /pvmfw                      emmc    defaults                 wait,slotselect,avb=pvmfw,first_stage_mount
diff --git a/conf/fstab.modem b/conf/fstab.modem
new file mode 100644
index 0000000..d687ace
--- /dev/null
+++ b/conf/fstab.modem
@@ -0,0 +1,5 @@
+# Android fstab file.
+# <src>                  <mnt_point>         <type>    <mnt_flags and options>                               <fs_mgr_flags>
+# Create the specific fstab file for modem partition as flexibility
+/dev/block/platform/14700000.ufs/by-name/modem           /mnt/vendor/modem_img       erofs   ro,defaults,context=u:object_r:modem_img_file:s0              wait,slotselect
+/dev/block/platform/14700000.ufs/by-name/modem           /mnt/vendor/modem_img       ext4    ro,defaults,context=u:object_r:modem_img_file:s0,barrier=1    wait,slotselect
diff --git a/conf/init.gs201.rc b/conf/init.gs201.rc
index 9d7b96d..fbbb562 100644
--- a/conf/init.gs201.rc
+++ b/conf/init.gs201.rc
@@ -511,6 +511,10 @@
     restorecon_recursive /mnt/vendor/modem_userdata
     chown radio system /mnt/vendor/modem_userdata
 
+    # Mount modem partition
+    mount_all /vendor/etc/fstab.modem --early
+    restorecon_recursive /mnt/vendor/modem_img
+
     restorecon_recursive /mnt/vendor/persist
     restorecon_recursive /mnt/vendor/persist/aoc
     restorecon_recursive /mnt/vendor/persist/audio
diff --git a/device.mk b/device.mk
index 51650e4..9894728 100644
--- a/device.mk
+++ b/device.mk
@@ -261,8 +261,10 @@
 	fstab.gs201.vendor_ramdisk \
 	fstab.gs201-fips \
 	fstab.gs201-fips.vendor_ramdisk
+
 PRODUCT_COPY_FILES += \
-	device/google/gs201/conf/fstab.persist:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.persist
+	device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.persist:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.persist \
+	device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.modem:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.modem
 
 # Shell scripts
 PRODUCT_COPY_FILES += \