summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Bestas <mkbestas@lineageos.org>2018-02-27 20:00:45 +0000
committerIsaac Chen <isaacchen@isaacchen.cn>2018-07-19 00:00:34 +0000
commit587fead983fde643c8fd48a10fd93d7e5be9d900 (patch)
tree048fe9efb9c62b30eb9ea3fd994f218a3f9b9d32
parentabb347287867226bc35d029fd94be63c61a24f42 (diff)
wayne: Get rid of recovery-only fstab
* Mounting /system and /vendor partitions is handled in kernel now, however removing the entries from fstab caused issues building the OTA. The workaround was to have a separate fstab, but turns out that simply setting the recoveryonly flag does the trick because those are then ignored during a normal Android boot. Change-Id: I2944384d0a1c41bc9f9f51e2e29daff2bed0a0f4
-rw-r--r--BoardConfig.mk2
-rw-r--r--rootdir/etc/fstab.qcom8
-rw-r--r--rootdir/etc/recovery.fstab24
3 files changed, 9 insertions, 25 deletions
diff --git a/BoardConfig.mk b/BoardConfig.mk
index 4355004..150f21a 100644
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -226,7 +226,7 @@ BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
TARGET_VENDOR_PROP := $(DEVICE_PATH)/vendor.prop
# Recovery
-TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/recovery.fstab
+TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.qcom
BOARD_HAS_LARGE_FILESYSTEM := true
# RIL
diff --git a/rootdir/etc/fstab.qcom b/rootdir/etc/fstab.qcom
index 2c4f737..39a2f4a 100644
--- a/rootdir/etc/fstab.qcom
+++ b/rootdir/etc/fstab.qcom
@@ -2,6 +2,10 @@
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
+# NOTE: /system and /vendor partitions are now early-mounted and the fstab entry is specified in device tree (duplicated below for recovery image purposes only):
+# /proc/device-tree/firmware/android/fstab/system
+# /proc/device-tree/firmware/android/fstab/vendor
+
#TODO: Add 'check' as fs_mgr_flags with data partition.
# Currently we dont have e2fsck compiled. So fs check would failed.
@@ -15,3 +19,7 @@
/dev/block/bootdevice/by-name/dsp /dsp ext4 ro,nosuid,nodev,barrier=1 wait
/dev/block/bootdevice/by-name/cache /cache ext4 nosuid,nodev,noatime,barrier=1 wait
/dev/block/bootdevice/by-name/persist /persist ext4 nosuid,nodev,barrier=1,noatime wait,check
+
+/dev/block/bootdevice/by-name/system /system ext4 ro,barrier=1 wait,recoveryonly
+/dev/block/bootdevice/by-name/vendor /vendor ext4 ro,barrier=1 wait,recoveryonly
+/dev/block/bootdevice/by-name/boot /boot emmc defaults defaults
diff --git a/rootdir/etc/recovery.fstab b/rootdir/etc/recovery.fstab
deleted file mode 100644
index bcc6edf..0000000
--- a/rootdir/etc/recovery.fstab
+++ /dev/null
@@ -1,24 +0,0 @@
-# Android fstab file.
-# The filesystem that contains the filesystem checker binary (typically /system) cannot
-# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
-
-#TODO: Add 'check' as fs_mgr_flags with data partition.
-# Currently we dont have e2fsck compiled. So fs check would failed.
-
-# Non-A/B fstab.qcom variant
-#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
-/dev/block/bootdevice/by-name/boot /boot emmc defaults defaults
-/dev/block/bootdevice/by-name/recovery /recovery emmc defaults defaults
-/dev/block/bootdevice/by-name/system /system ext4 ro wait
-/dev/block/bootdevice/by-name/vendor /vendor ext4 ro wait
-/dev/block/bootdevice/by-name/userdata /data ext4 nosuid,nodev,noauto_da_alloc,noatime,lazytime,errors=panic wait,resize,check,reservedsize=128M,encryptable=footer,quota,formattable
-/devices/soc/c084000.sdhci/mmc_host* /storage/sdcard1 vfat nosuid,nodev wait,voldmanaged=sdcard1:auto,encryptable=footer
-/dev/block/bootdevice/by-name/cust /cust ext4 ro,nosuid,nodev wait,check
-/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults
-/dev/block/bootdevice/by-name/modem /firmware vfat ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
-/dev/block/bootdevice/by-name/bluetooth /bt_firmware vfat ro,shortname=lower,uid=1002,gid=3002,dmask=227,fmask=337,context=u:object_r:bt_firmware_file:s0 wait
-/devices/soc/a800000.ssusb/a800000.dwc3/xhci-hcd.0.auto* /storage/usbotg vfat nosuid,nodev wait,voldmanaged=usbotg:auto
-/dev/block/bootdevice/by-name/dsp /dsp ext4 ro,nosuid,nodev wait
-/dev/block/bootdevice/by-name/cache /cache ext4 nosuid,nodev,noatime wait,check,formattable
-/dev/block/bootdevice/by-name/persist /persist ext4 nosuid,nodev,noatime wait,check
-/dev/block/bootdevice/by-name/persistbak /persistbak ext4 nosuid,nodev,noatime wait,check