Fork of TWRP
This fork differs from the original in the following ways:
- Designed to be built with CyanogenMod 13.0 only
- Require fstab v2 syntax (see examples and supported flags below)
- Use external repositories for pigz, exfat, fuse
- Power key toggles screen on/off
- Remove the need to specify either
DEVICE_RESOLUTIONorTW_THEMEso long asTARGET_SCREEN_HEIGHTandTARGET_SCREEN_WIDTHare set - Other minor customizations (see change history)
Versioning
To help distinguish builds of recovery made from this fork, the minor version digit is replaced with M#. Minor version increments will be handled as needed, independent of TWRP. The major and semi-major version digits follow upstream to roughly indicate feature parity (as close as possible with a fork, anyways).
Convention:
3.0.M0-0incorporates all major features from TWRP3.0.0-03.0.M1-0is the minor version increment after3.0.M0-0and is independent of any TWRP minor version increment(s)3.1.M0-0is the semi-major version increment after3.0.M4-2and is tied to a TWRP semi-major version increment3.0.M0-1is a device-specific fix to3.0.M0-0; this device digit resets when any other version increments
Examples of fstab v2 for TWRP
Example fstab v2 for device mt2:
Worth noting in this example: encryptable= does not need to be specified if encryption keys are stored at the footer of /data. This is the default, assumed location.
# device mount_point fstype mount_flags fs_mgr_flags twrp_flags
/dev/block/platform/msm_sdcc.1/by-name/boot /boot emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 noatime,nosuid,nodev defaults
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 noatime,nosuid,nodev,noauto_da_alloc length=-16384
/dev/block/platform/msm_sdcc.1/by-name/modem /firmware vfat ro defaults twrp=display="Firmware";mounttodecrypt
/dev/block/platform/msm_sdcc.1/by-name/log /log ext4 defaults defaults twrp=display="Log"
/dev/block/platform/msm_sdcc.1/by-name/misc /misc emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/recovery /recovery emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 defaults defaults
/dev/block/mmcblk1p1 /external_sd vfat defaults defaults twrp=display="MicroSD";storage;wipeingui;removable
/dev/block/sda1 /usb-otg vfat defaults defaults twrp=display="USB OTG";storage;wipeingui;removable
Example fstab v2 for device jewel:
# device mount_point fstype mount_flags fs_mgr_flags twrp_flags
/dev/block/platform/msm_sdcc.1/by-name/boot /boot emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 noatime,nosuid,nodev defaults
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 noatime,nosuid,nodev,noauto_da_alloc encryptable=/dev/block/platform/msm_sdcc.1/by-name/extra
/dev/block/platform/msm_sdcc.1/by-name/devlog /devlog ext4 noatime,nosuid,nodev defaults twrp=display="Devlog"
/dev/block/platform/msm_sdcc.1/by-name/misc /misc emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/recovery /recovery emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 noatime defaults
/dev/block/mmcblk1p1 /external_sd vfat defaults defaults twrp=display="MicroSD";storage;wipeingui;removable
/dev/block/sda1 /usb-otg vfat defaults defaults twrp=display="USB OTG";storage;wipeingui;removable
Supported fstab v2 flags in TWRP
Recognized mount flags (Column 4):
Syntax: comma separated
binddefaultsnoatimenodevnodiratimenoexecnosuidprivaterecremountrorwsharedslaveunbindable
Recognized fs_mgr flags (Column 5):
Syntax: comma separated
defaultsencryptable=length=
Recognized twrp flags (Column 6):
Syntax: semicolon separated, begin with twrp=
Example: twrp=display="Firmware";mounttodecrypt
andsecbackup=backupname=blocksize=canbewipedcanencryptbackup=display=encryptable=flashimgforceencrypt=ignoreblkidlength=mounttodecryptremovableretainlayoutversionrwsettingsstoragestoragestoragename=subpartitionof=symlink=userdataencryptbackup=usermrfwipeduringfactoryresetwipeingui