summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIsaac Chen <isaacchen@isaacchen.cn>2018-08-06 03:29:44 +0200
committerIsaac Chen <isaacchen@isaacchen.cn>2018-12-02 11:02:30 +0800
commitdc59590a23ec15e25006d4f70e34684869e75629 (patch)
tree63bdad498dcb44fb52fdad879e923e907de3b777
parent7a59c64c449b614b40fd4619bc29808afddfcab6 (diff)
wayne-common: rootdir: Support A/B fstab
Signed-off-by: Isaac Chen <isaacchen@isaacchen.cn>
-rw-r--r--BoardConfigCommon.mk4
-rw-r--r--rootdir/Android.mk4
-rw-r--r--rootdir/etc/fstab_AB.qcom17
3 files changed, 25 insertions, 0 deletions
diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk
index 55825e7..650b0bb 100644
--- a/BoardConfigCommon.mk
+++ b/BoardConfigCommon.mk
@@ -228,7 +228,11 @@ BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
TARGET_VENDOR_PROP := $(COMMON_PATH)/vendor.prop
# Recovery
+ifeq ($(AB_OTA_UPDATER), true)
+TARGET_RECOVERY_FSTAB := $(COMMON_PATH)/rootdir/etc/fstab_AB.qcom
+else
TARGET_RECOVERY_FSTAB := $(COMMON_PATH)/rootdir/etc/fstab.qcom
+endif
BOARD_HAS_LARGE_FILESYSTEM := true
# RIL
diff --git a/rootdir/Android.mk b/rootdir/Android.mk
index 280d501..4427d52 100644
--- a/rootdir/Android.mk
+++ b/rootdir/Android.mk
@@ -169,7 +169,11 @@ include $(CLEAR_VARS)
LOCAL_MODULE := fstab.qcom
LOCAL_MODULE_TAGS := optional eng
LOCAL_MODULE_CLASS := ETC
+ifeq ($(AB_OTA_UPDATER), true)
+LOCAL_SRC_FILES := etc/fstab_AB.qcom
+else
LOCAL_SRC_FILES := etc/fstab.qcom
+endif
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)
include $(BUILD_PREBUILT)
diff --git a/rootdir/etc/fstab_AB.qcom b/rootdir/etc/fstab_AB.qcom
new file mode 100644
index 0000000..88d2ac7
--- /dev/null
+++ b/rootdir/etc/fstab_AB.qcom
@@ -0,0 +1,17 @@
+# 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.
+
+# A/B fstab.qcom variant
+#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
+/dev/block/bootdevice/by-name/system / ext4 ro,barrier=1,discard wait,slotselect
+/dev/block/bootdevice/by-name/userdata /data ext4 nosuid,nodev,barrier=0,noauto_da_alloc,discard,noatime,lazytime wait,resize,check,crashcheck,quota,encryptable=footer
+/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,slotselect
+/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,slotselect
+/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,barrier=1 wait,slotselect
+/dev/block/bootdevice/by-name/persist /persist ext4 nosuid,nodev,barrier=1,noatime wait,check