From 8ab357850053d3d5ed5b3d95adc7e2dfa6e5e0a7 Mon Sep 17 00:00:00 2001 From: j4nn <531585+j4nn@users.noreply.github.com> Date: Sun, 5 Oct 2025 16:25:39 +0200 Subject: [PATCH] clean up recovery fstab and related twrp flags file try to use recovery.fstab as primary fstab setup instead of twrp.flags, moving most twrp fstab options there tried to test adopted sdcard storage as available in Lineage OS, decryption seems to be attempted by twrp but implementation seems incomplete, so it fails to decrypt adopted storage partition configured /sd-ext mount point for sdcard ext4 partition that can be created via twrp partition sd card function not using wildcard type of sysfs block device detection for usb otg and sd card as that creates additional empty storage options in gui most likely because it adds the parent (not partitioned) device too like /dev/block/mmcblk0 or /dev/block/sdd with zero size --- recovery.fstab | 44 ++++++++++++++++++++++++++++++++------------ twrp.flags | 21 ++------------------- 2 files changed, 34 insertions(+), 31 deletions(-) diff --git a/recovery.fstab b/recovery.fstab index 9fc24c7..7bd4b93 100644 --- a/recovery.fstab +++ b/recovery.fstab @@ -37,20 +37,40 @@ # Currently we dont have e2fsck compiled. So fs check would failed. # -/dev/block/by-name/system /system ext4 ro,barrier=1,discard wait,slotselect,avb,first_stage_mount -/dev/block/by-name/vendor /vendor ext4 ro,barrier=1,discard wait,slotselect,avb,first_stage_mount +/dev/block/bootdevice/by-name/boot /boot emmc defaults slotselect +/dev/block/bootdevice/by-name/dtbo /dtbo emmc defaults slotselect,display=DTBO,backup=1,flashimg=1 +/dev/block/bootdevice/by-name/vbmeta /vbmeta emmc defaults slotselect,display=VBMeta,backup=1,flashimg=1 + +/dev/block/by-name/system /system ext4 ro,barrier=1,discard wait,slotselect,avb,first_stage_mount,display=System,backup=1,wipeingui +/dev/block/by-name/vendor /vendor ext4 ro,barrier=1,discard wait,slotselect,avb,first_stage_mount,display=Vendor,backup=1,wipeingui +/dev/block/bootdevice/by-name/oem /oem ext4 ro,barrier=1,discard wait,slotselect,display=OEM,backup=1 + /dev/block/bootdevice/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,noauto_da_alloc,discard wait,check,fileencryption=ice,quota,reservedsize=128M /dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard wait,check,fileencryption=ice,quota,reservedsize=128M -#/devices/platform/soc/8804000.sdhci/mmc_host* auto auto defaults wait,voldmanaged=sdcard1:auto,encryptable=userdata -#/devices/platform/soc/1da4000.ufshc_card/host* auto auto defaults wait,voldmanaged=sdcard1:auto,encryptable=userdata -#/dev/block/bootdevice/by-name/modem /vendor/firmware_mnt vfat ro,shortname=lower,uid=0,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait,slotselect -#/dev/block/bootdevice/by-name/dsp /vendor/dsp ext4 ro,nosuid,nodev,barrier=1 wait,slotselect -#/dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,barrier=1,discard wait,check,notrim -#/dev/block/bootdevice/by-name/bluetooth /vendor/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/platform/soc/a600000.ssusb/a600000.dwc3/xhci-hcd.0.auto* /storage/usbotg vfat nosuid,nodev wait,voldmanaged=usbotg:auto + +#/devices/platform/soc/8804000.sdhci/mmc_host/* /sd-ext auto defaults wait,voldmanaged=sd-ext:1,encryptable=userdata +#/devices/platform/soc/1da4000.ufshc_card/host/* /sd-ext auto defaults wait,voldmanaged=sd-ext:1,encryptable=userdata +/dev/block/mmcblk0p1 /sdcard1 auto defaults wait,voldmanaged=sdcard1:auto,encryptable=userdata,storage,wipeingui,removable,display="Micro SD card" +#/dev/block/mmcblk0p2 /sd-ext auto defaults wait,voldmanaged=sdcard1:auto,encryptable=userdata,storage,wipeingui,removable + +#/devices/platform/soc/a600000.ssusb/a600000.dwc3/xhci-hcd.0.auto* /usbotg auto nosuid,nodev wait,voldmanaged=usbotg:auto,storage,wipeingui,removable,display="USB OTG" +#/dev/block/sdd1 /usbotg auto nosuid,nodev wait,voldmanaged=usbotg:auto,storage,wipeingui,removable,display="USB OTG" + +/dev/block/bootdevice/by-name/modem /firmware vfat ro,shortname=lower,uid=0,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait,slotselect,display=Firmware +/dev/block/bootdevice/by-name/dsp /dsp ext4 ro,nosuid,nodev,barrier=1 wait,slotselect,display=DSP +/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,display="BT Firmware" + # Need to have this entry in here even though the mount point itself is no longer needed. # The update_engine code looks for this entry in order to determine the boot device address # and fails if it does not find it. -/dev/block/bootdevice/by-name/frp /persistent emmc defaults defaults -/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults -/dev/block/zram0 none swap defaults zramsize=25% +/dev/block/bootdevice/by-name/frp /persistent emmc defaults defaults +/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults +/dev/block/zram0 none swap defaults zramsize=25% + +/dev/block/bootdevice/by-name/modemst1 /efs1 emmc defaults display=EFS,backup=1 +/dev/block/bootdevice/by-name/modemst2 /efs2 emmc defaults display=EFS,backup=1,subpartitionof=/efs1 + +/dev/block/bootdevice/by-name/system /system_image emmc defaults slotselect,backup=1 +/dev/block/bootdevice/by-name/vendor /vendor_image emmc defaults slotselect,backup=1 +/dev/block/bootdevice/by-name/persist /persist_image emmc defaults display="Persist Image",backup=1 +/dev/block/bootdevice/by-name/persist /persist ext4 ro,noatime,nosuid,nodev,barrier=1 wait,check,notrim,display=Persist,backup=1 diff --git a/twrp.flags b/twrp.flags index 8876685..d9a5623 100644 --- a/twrp.flags +++ b/twrp.flags @@ -1,20 +1,3 @@ # mount point fstype device [device2] fstype2 -/boot emmc /dev/block/bootdevice/by-name/boot flags=slotselect -/dtbo emmc /dev/block/bootdevice/by-name/dtbo flags=slotselect;display="DTBO";backup=1;flashimg=1 -/vbmeta emmc /dev/block/bootdevice/by-name/vbmeta flags=slotselect;display="VBMeta";backup=1;flashimg=1 -/system_root ext4 /dev/block/bootdevice/by-name/system flags=slotselect;display="System";backup=1;wipeingui -/system_image emmc /dev/block/bootdevice/by-name/system flags=slotselect -/vendor ext4 /dev/block/bootdevice/by-name/vendor flags=slotselect;display="Vendor";backup=1;wipeingui -/vendor_image emmc /dev/block/bootdevice/by-name/vendor flags=slotselect -/oem ext4 /dev/block/bootdevice/by-name/oem flags=slotselect;display="OEM";backup=1 -/dsp ext4 /dev/block/bootdevice/by-name/dsp flags=slotselect;display="DSP" -/misc emmc /dev/block/bootdevice/by-name/misc -/firmware vfat /dev/block/bootdevice/by-name/modem flags=slotselect;display="Firmware";fsflags="ro,shortname=lower,uid=1000,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0" -/bt_firmware vfat /dev/block/bootdevice/by-name/bluetooth flags=slotselect;display="BT Firmware";fsflags=ro,context=u:object_r:firmware_file:s0 -/efs1 emmc /dev/block/bootdevice/by-name/modemst1 flags=backup=1;display="EFS" -/efs2 emmc /dev/block/bootdevice/by-name/modemst2 flags=backup=1;subpartitionof=/efs1 -/persist ext4 /dev/block/bootdevice/by-name/persist flags=display="Persist";backup=1;fsflags="noatime,nosuid,nodev,barrier=1" -/persist_image emmc /dev/block/bootdevice/by-name/persist flags=display="Persist Image";backup=1 - -/sdcard1 auto /dev/block/mmcblk0p1 flags=display="Micro SDcard";storage;wipeingui;removable -/usb-otg auto /dev/block/sdd1 flags=display="USB OTG";storage;wipeingui;removable +/sd-ext auto /dev/block/mmcblk0p2 flags=display="SD-ext";storage;wipeingui;removable;encryptable=userdata +/usbotg auto /dev/block/sdd1 flags=display="USB OTG";storage;wipeingui;removable