Code:
[CENTER]*** Disclaimer ***
All flashing is done at your own risk!
While nothing from this thread should break your device,
don't come back here blaming anyone if it does![/CENTER]
Introduction
Team Win Recovery Project 3.x, or twrp3 for short, is a custom recovery built with ease of use and customization in mind. Its a fully touch driven user interface no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.
Click to expand...
Click to collapse
Images
Installation instructions
NOTE: Read the FAQ from Post #3 to ensure that you're installing the correct version of TWRP!!
TWRP Image Install method:
Most devices can be updated quickly and easily within TWRP if you already have version 2.8.4.0 or higher installed.
Download the latest version of TWRP appropriate for your device/firmware
Reboot to TWRP
Hit Install and tap the "Install Image" button in the lower right
Browse to the location of the TWRP image on your device and select it
Select recovery from the partition list and swipe to flash
Alternate Installation Method:
Fastboot Install Method:
You will need the platform-tools from the Android SDK on your computer. Find the Android command line tools section on the page linked and install the SDK tools package. From the SDK Manager, download only the platform-tools to get adb and fastboot binaries.
Windows users will need proper drivers installed on their computer. You can try the Naked ADB drivers or the Universal ADB drivers if you don't already have a working driver installed
On your device, go into Settings -> About and find the Build Number and tap on it 7 times to enable developer settings. Press back and go into Developer Options and enable USB debugging. From your computer, open a command prompt and type:
Code:
adb reboot download
You should now be in fastboot mode.
Download the correct image file and copy the file into the same folder as your adb and fastboot binaries. Rename the image to twrp.img and type:
Code:
fastboot flash recovery twrp.img
Code:
fastboot reboot
Click to expand...
Click to collapse
Device Changelog
Current version: 3.4.0-0:
Code:
[LIST][URL="https://github.com/TeamWin/android_device_htc_hima/commit/5da36b0b5578a880e820686c63d1f6c3b0808152"]Clean up decrypt scripts, kernel and blobs[/URL]
[*][URL="https://github.com/TeamWin/android_device_htc_hima/commit/fc1ab8160d37f72f6eac673595721262c82ffab0"]Update device files[/URL]
[*][URL="https://github.com/TeamWin/android_device_htc_hima/commit/063649e1a2d0591f661310ee7a5f6e9510395331"]Fix vendor_init on 9[/URL]
[*][URL="https://github.com/TeamWin/android_device_htc_hima/commit/042863406313eebdc1e8166b5a866bc246ca2502"]Update decrypt stuffs[/URL][/LIST]
Older Device-specific versions:
Code:
[SIZE="4"][COLOR="Green"]3.2.3-1:[/COLOR][/SIZE]
[LIST]Updates to support AOSP Pie decryption[/LIST]
[SIZE="4"][COLOR="Green"]3.2.2-0:[/COLOR][/SIZE]
[LIST][update] Now uses htc-common repo for charging light support and common init functions
[*][update] AOSP Oreo decryption supported, thanks to @topjohnwu & @nkk71 for resetprop[/LIST]
[SIZE="4"][COLOR="Green"]3.2.0-1:[/COLOR][/SIZE]
[LIST][Fix] Unofficial build to patch broken restore function[/LIST]
Click to expand...
Click to collapse
TWRP Official Changelog
Current version: 3.4.0:
Code:
System As Root (SAR)
[LIST]Fix backup and restore using SAR - dianlujitao
[*]System mount point - Chaosmaster
[*]ORS - Chaosmaster
[*]Zip install - Chaosmaster
[*]system_root bind mount to /system - Chaosmaster
[*]Autodetection of SAR - Chaosmaster[/LIST]
Digest
[LIST]fix creation of digests for sub-partitions (was bugfix applied to many devices since last year) - Bigbiff[/LIST]
Encryption
[LIST]ext4Crypt Wrapped Key Update - Peter Cai
[*]Fix upgrading encryption key if export fails - Peter Cai
[*]Fix wrapped key support for devices without metadata partition - mauronofrio
[*]Don't skip decryption when using block map file in order to write to /data in ORS - CaptainThrowback
[*]FDE - Decrypt master key first - AndroidableDroid
[*]vold_decrypt - set Android version and patch level automatically - CaptainThrowback
[*]Set wrapped decrypt support by twrp flag - Peter Cai
[*]Don't try wrapped support unless needed - mauronofrio
[*]restore ext4 policy on /data/cache - Bigbiff
[*]multiuser decryption - Noah Jacobson
[*]FDE retry - AndroidableDroid[/LIST]
TWRP App
[LIST]unmount system after checking for app - Bigbiff[/LIST]
Prebuilt updates
[LIST][email protected] - cryptomilk[/LIST]
Compilation Fixes
[LIST]TW_EXFAT_FUSE compilation fixes - Bigbiff
[*]libuuid - cryptomilk
[*]'system/etc/ld.config.txt' not found error - Martin Dünkelmann[/LIST]
Language Updates
[LIST]Portugal - Vasco Machado
[*]Dutch - Ian Macdonald
[*]Turkish - Fatih Fırıncı
[*]Localisation of Backup_Tar - Ian Macdonald[/LIST]
ld.config.txt
[LIST]updates for 8.x trees - CaptainThrowback
[*]fix search path for /sbin - CaptainThrowback
[*]/sbin should come first in search path - Ian Macdonald[/LIST]
General Bugs
[LIST]Fix persistent log storage - SyberHexen
[*]Compress Persistent Logs - Bigbiff
[*]FB2PNG compilation errors - Bigbiff
[*]exclude per_boot from backups - Darth9
[*]Unmount all directories that point to same block device - AndroidableDroid
[*]Blank screen fixes - Sean hoyt
[*]Toolbox is default on android-9+ - mauronofrio[/LIST]
Cleanup
[LIST]Typo fix in comment - VDavid003
[*]newlines in ext4crypt - CaptainThrowback
[*]TW_OEM_BUILD compilation issue - Patrick Zacharias
[*]Fix Dependency requirements - Dees_Troy
[*]Fix Symbolic links for BB and Toolbox - Dees_Troy[/LIST]
Bootloader Message
[LIST]cleanup - Alessandro Astone
[*]add configurable offsets[/LIST]
Error Cleanup
[LIST]uevent errors and decryption error - mauronofrio
[*]using copy_file to copy files from /etc - CaptainThrowback
[*]ueventd access to /acct - early directory creation in init - cryptomilk[/LIST]
Haptics
[LIST]TSP Driver - LameMonster82
[*]QTI Input - AndroidableDroid[/LIST]
update_engine
[LIST]read all asserts - Hernán Castañón[/LIST]
Resetprop
[LIST]Add Resetprop from Magisk - CaptainThrowback & mauronofrio
[*]compile from source - Chaosmaster
[*]fix for android-7 and earlier - Chaosmaster
[*]cleanup for spaces in properties - AndroidableDroid[/LIST]
Properties
[LIST]Add Property override - Chaosmaster[/LIST]
Backuptool
[LIST]mount system and vendor for A/B installs for backuptool - Chaosmaster[/LIST]
twrpTar
[LIST]fix backup freezes when pigz and openaes are used - Fabrice Bellet[/LIST]
Zip Installs
[LIST]Info for A/B zip installing to inactive slot - Chaosmaster
[*]Reboot to system button now allows to be rebooted to different partitions after zip install
[*]progressbar rework - Chaosmaster[/LIST]
Magisk updates
[LIST]update binaries from source - AndroidableDroid[/LIST]
A/B Updater Zip Template
[LIST]rewrite A/B installer zip from scratch using a new generic template and latest magiskboot - osm0sis
[*]installer zip support for recovery_a/recovery_b partition ramdisks on newer 2SI SAR A/B devices - osm0sis
[*]generate installer zips for all prod A/B devices - bigbiff
[*]improve installer zip dump/write speed and add more error catching - arter97 & osm0sis[/LIST]
OZIP Encryption Support
[LIST]add OZIP encryption - mauronofrio[/LIST]
File Selector
[LIST]Support for more extensions in File Selector - mauronofrio[/LIST]
Older versions:
Code:
[SIZE="4"][COLOR="Green"]3.3.1:[/COLOR][/SIZE]
[LIST]Fix selinux issues during formatting - dianlujitao
[*]Various fixes for toybox and toolbox builds - CaptainThrowback and bigbiff
[*]Flash both A and B partitions when installing a recovery ramdisk - Dees_Troy
[*]Add option to uninstall TWRP app from /system - Dees_Troy
[*]Create digest for subpartitions - bigbiff[/LIST]
[SIZE="4"][COLOR="Green"]3.3.0:[/COLOR][/SIZE]
[LIST]Merge AOSP 9.0 r3 (Dees_Troy)
[*]Use ANDROID_ROOT variable instead of hard coding to /system (CaptainThrowback)
[*]Decrypt FBE on 9.0 and metadata decrypt (Dees_Troy)
[*]vold decrypt updates (nijel8, CaptainThrowback)
[*]Support vibration on LED class devices (notsyncing)
[*]Metadata decrypt support for Pixel 3 (Dees_Troy)
[*]Support rotating the display via build flag (vladimiroltean)
[*]Reboot to EDL mode button (mauronofrio)
[*]Support MTP on FFS devices (bigbiff)
[*]Update FDE decrypt to support keymaster 3 and 4 (Dees_Troy)
[*]Detect mkfs.f2fs version to properly format on f2fs partitions (Dees_Troy)
[*]Allow TWRP to use md5 and sha256 checksums for zip installs (bigbiff)
[*]TWRP can use /data/cache/recovery and /persist/cache/recovery on AB devices with no cache partition (bigbiff)
[*]Switch part of advanced menus in TWRP to use a listbox of options (Dees_Troy)
[*]Use magiskboot to allow repacking boot images for installing TWRP (Dees_Troy with thanks to topjohnwu of course)[/LIST]
[SIZE="4"][COLOR="Green"]3.2.3:[/COLOR][/SIZE]
[LIST]Fix automatic installing of OTA zips on encrypted devices
[*]Remove SuperSU from TWRP
[*]Support both md5 and md5sum file extensions when doing MD5 checking for zip files[/LIST]
[SIZE="4"][COLOR="Green"]3.2.2:[/COLOR][/SIZE]
[LIST]adb backup fixes
[*]OTA style update zips will now install automatically without prompting for decrypt
[*]minor tweaks to handling date/time on Qualcomm devices
[*]updates to some language translations[/LIST]
[SIZE="4"][COLOR="Green"]3.2.1:[/COLOR][/SIZE]
[LIST]minui fixes (cryptomilk)
[*]Better android-8.0 compatibility in ROM trees (Dees_Troy)
[*]Fix missing library in android-8.0 (nkk71)
[*]Fix inconsistent SDCard naming (DevUt)
[*]Default to TWRP restore instead of adb backup restore to fix restore on fresh TWRP boot (jlask)[/LIST]
[SIZE="4"][COLOR="Green"]3.2.0:[/COLOR][/SIZE]
[LIST]Allow restoring adb backups in the TWRP GUI (bigbiff)
[*]Fix gzip backup error in adb backups (bigbiff)
[*]Fix a bug in TWRP's backup routines that occasionally corrupted backup files (nkk71)
[*]Better support for installing Android 8.0 based zips due to legacy props (nkk71)
[*]Support vold decrypt with keymaster 3.0 in 8.0 firmwares (nkk71)
[*]Decrypt of synthetic passwords for Pixel 2 (Dees_Troy)
[*]Support newer ext4 FBE policies for backup and restore in libtar (Dees_Troy)
[*]v2 fstab support (Dees_Troy)
[*]Bring TWRP forward to android 8.0 AOSP base (Dees_Troy)
[*]Various other minor bugfixes and tweaks[/LIST]
[SIZE="4"][COLOR="Green"]3.1.1:[/COLOR][/SIZE]
[LIST]Backups will now include adopted storage keys (Dees_Troy)
[*]Fixed an adb restore issue (bigbiff)
[*]Fixed rebooting when no OS is present (Dees_Troy)
[*]Fixed line wrapping in the GUI terminal (_that)
[*]Updated TWRP source code to AOSP 7.1.2 (Dees_Troy)[/LIST]
[SIZE="4"][COLOR="Green"]3.1.0:[/COLOR][/SIZE]
[LIST]vold decrypt on a few select HTC devices, TWRP will now attempt to use the system partition's vold and vdc binaries and libraries to decrypt the data partition (nkk71 and CaptainThrowback)
[*]adb backup to stream a backup directly to or from your PC, see documentation [URL="https://github.com/omnirom/android_bootable_recovery/commit/ce8f83c48d200106ff61ad530c863b15c16949d9"]here[/URL] (bigbiff)
[*]tweak MTP startup routines (mdmower)
[*]support new Android 7.x xattrs for backup and restore to fix loss of data after a restore (Dees_Troy)
[*]support POSIX file capabilities backup and restore to fix VoLTE on HTC devices and possibly other issues (Dees_Troy)
[*]better indicate to users that internal storage is not backed up (Dees_Troy)
[*]improve automatic determination of TW_THEME (mdmower)
[*]minimal getcap and setcap support (_that)
[*]try mounting both ext4 and f2fs during decrypt (jcadduono and Dees_Troy)
[*]shut off backlight with power key (mdmower)
[*]timeout during FDE decrypt (Dees_Troy and nkk71)
[*]support for FBE decrypt and backing up and restoring FBE policies (Dees_Troy)
[*]boot slot support (Dees_Troy)
[*]TWRP app install prompt during reboot (Dees_Troy)
[*]support for AB OTA zips (Dees_Troy)
[*]support new Android 7.x log command (Dees_Troy)
[*]update recovery sources to AOSP 7.1 (Dees_Troy)
[*]numerous bugfixes and improvements by too many people to mention[/LIST]
[SIZE="4"][COLOR="Green"]3.0.3:[/COLOR][/SIZE]
[LIST]Partial release to help support the release of the [URL="https://www.xda-developers.com/team-win-releases-their-first-official-twrp-app-in-the-play-store/"]Official TWRP app[/URL][/LIST]
[SIZE="4"][COLOR="Green"]3.0.2:[/COLOR][/SIZE]
[LIST]Fix a bug with the input box that affected masked inputs (passwords). This fixes decrypt of full device encryption on devices that support decrypt. This bug also impacts encrypted backups. Users are highly encouraged to stop using 3.0.1 if you use encrypted backups or if you need decrypt of data in TWRP.
[*]Add Greek translation to some builds.[/LIST]
[SIZE="4"][COLOR="Green"]3.0.1:[/COLOR][/SIZE]
[LIST]support new CM 13.0 pattern encryption (sultanqasim)
[*]fix slow flashing issue due to modprobe (present on only some devices) (#twrp)
[*]libtar updated to latest upstream and fixes (jcadduono)
[*]fixes for loading custom themes (_that)
[*]TWRP will now detect and install TWRP themes automatically through the normal zip install process (Dees_Troy)
[*]translation updates - added Italian, Czech and Polish and significant updates to Dutch
[*]progress bar improvements - progress bar updates during image flashing and better tracks progress during file system backups (tar) (Dees_Troy)
[*]fix input box text display (Dees_Troy)
[*]reboot option after zip install complete (bigbiff)
[*]other mostly invisible bug fixes and improvements[/LIST]
[SIZE="4"][COLOR="Green"]3.0.0:[/COLOR][/SIZE]
[LIST]Completely new theme - Much more modern and much nicer looking (by z31s1g)
[*]True Terminal Emulator - Includes arrow keys, tab and tab completion, etc. (by _that)
[*]Language translation - It won’t be perfect and especially some languages that require large font files like Chinese & Japanese won’t be availble on most devices. Also some languages may only be partially translated at this time. Feel free to submit more translations to OmniROM’s Gerrit. (mostly by Dees_Troy)
[*]Flashing of sparse images - On select devices you will be able to flash some parts of factory images via the TWRP GUI (by HashBang173)
[*]Adopted storage support for select devices - TWRP can now decrypt adopted storage partitions from Marshmallow
[*]Reworked graphics to bring us more up to date with AOSP - includes support for adf and drm graphics (by Dees_Troy)
[*]SuperSU prompt will no longer display if a Marshmallow ROM is installed
[*]Update exfat, exfat fuse, dosfstools (by mdmower)
[*]Update AOSP base to 6.0
[*]A huge laundry list of other minor fixes and tweaks[/LIST]
[U]Additional Notes[/U]
[LIST]WARNING: This is our first release in a long time. We have a lot of new and somewhat aggressive changes in this new release. The changes to the graphics back-end may cause some devices to not boot up properly or have other display-related issues. If you are not in a position to reflash an older build of TWRP, then wait until you are or at least wait until others have tried the new version for your specific device. You don’t want to end up with a non-working recovery and have to wait several hours or days to get to a computer to be able to fix it.
[*]Notes for themers: In addition to the updated theme, we have introduced a theme version variable to the TWRP theme system. If the theme version does not match the version that TWRP expects, TWRP will reject the custom theme and load its stock theme. This change will ensure that people who update TWRP without updating their theme will still have a workable recovery. We have removed libjpeg support. The stock theme was only using a jpeg image for the splash / curtain. This change means that any custom themes will no longer be able to use jpeg images. It also means that tools used to repack recovery images with a different curtain / splash will need to be updated to use the new method.
[*]Version number notes: For a while we’ve been using a 4 digit version number and reserved the 4th digit for device-specific updates. For instance, we find and fix a device-specific issue like decryption of data on Nexus 5, we would release that as a 2.8.7.1. After a while, some people would start asking where 2.8.7.1 was for other devices. So, going forward we have decided to change the numbering scheme to 3.0.0-2, etc. Our hope is that this version numbering scheme will more clearly identify that the 4th digit does not indicate a version change for the code base.
[*]We need your help! The bulk of TWRP work is done by 3 people on a volunteer basis. We have pushed most of our device files to our github and we have a gerrit instance. If you have the ability, please help us maintain our official devices and/or add your device to our official device list. Thanks in advance![/LIST]
[SIZE="4"][COLOR="Green"]2.8.7.0:[/COLOR][/SIZE]
[LIST]Initial ground work for software drawn keyboard (_that)
[*]Fix handling of wiping internal storage on datamedia devices (xuefer)
[*]Allow DataManager to set and read values from the system properties (xuefer)
[*]Fix crash when taking screenshots on arm64 devices (xuefer)
[*]Fix error message after an ORS script completes (Dees_Troy)
[*]Fix crashes / error when creating encrypted backups (_that, Dees_Troy)
[*]Add system read only option – more details below (Dees_Troy)
[*]Add resize2fs and GUI option to run resize2fs (Dees_Troy)
[*]Fix crash loop caused by empty lines in AOSP recovery command file (_that)
[*]Prevent duplicate page overlays such as multiple lock screens (mdmower)[/LIST]
[U]Additional Notes[/U]
[LIST]Note: As always, be sure your custom theme is up to date (or remove your custom theme) before updating TWRP.
[*]System read only option: Devices that ship with 5.0 and higher as their initial OS are using block level OTA updates. With this style of OTA update, the update script checks to see if the system partition has ever been mounted read/write. Further, the script also usually runs an SHA sum of the entire system partition to detect if any changes have been made. If any changes have been made, the OTA update will refuse to install. Since not all OEMs and devices have factory images available, we have created a new feature in TWRP that detects if the system partition has ever been mounted read/write. If not, you will be prompted asking if you want TWRP to mount system as read/write. If you choose not to allow TWRP to mount as read/write, TWRP won’t prompt to install SuperSU and TWRP won’t try to patch the stock ROM to prevent TWRP from being replaced by stock recovery. The goal of this option is to hopefully allow the user to make a raw system image backup that they can use to get back to a state where they can take OTA updates again.
[*]resize2fs feature: On some devices like the Nexus 6, the factory images include a userdata image that is the proper size only for the 32GB units. If you flash the factory image to a 64GB Nexus 6, the data partition will appear as if it only has the free space of a 32GB device. Using the resize2fs option, TWRP can resize your data partition to take up the full space available. The resize2fs may also be useful to resize system partitions on devices where custom ROM system images don’t take up the full partition space. Lastly, resize2fs may be useful in some cases to reserve the proper space at the end of a data partition for a full disk encryption key, should your partition be formatted incorrectly for some reason.
[*]This new version also marks our first set of full builds using our new jenkins build server. You can track the progress of builds at [url]https://jenkins.twrp.me[/url] and we have taken additional steps to make it easier for device maintainers to step up and submit patches to our gerrit server at [url]https://gerrit.twrp.me[/url] to help us keep devices up to date and working.[/LIST]
Click to expand...
Click to collapse
Downloads
NOTE: Read the FAQ from Post #3 to ensure that you're installing the correct version of TWRP!!
Download
Latest Official versions
Latest Unofficial versions
Sources
Device tree
Kernel source
Click to expand...
Click to collapse
FAQ - Post #3
Known Issues
As of version 3.3.0, stock Nougat can no longer be decrypted. Use 3.2.3 or older if you are still running stock Nougat.
Encrypted backups are broken - DO NOT USE THIS FEATURE!!
Click to expand...
Click to collapse
We need your help!
Join the TWRP Testing group on Slack to help us test TWRP prior to official releases!
Click to expand...
Click to collapse
Bug Reporting
If you have an issue, the first step is to post a recovery log so we can determine the cause of the issue. This is done in recovery using Advanced -> Copy Log, or adb pull /tmp/recovery.log. Once a log is uploaded we can determine how best to proceed. NOTE: Posts that are reporting bugs or issues without an accompanying recovery log will be ignored! Additionally, providing details about your device setup, including variant, firmware version, and exact steps to reproduce your issue will also be helpful in diagnosing the problem.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
If your issue is determined to be a bug, please consider posting it to our github issues log. It's pretty much impossible for us to keep up with the more than 40 threads that we have for the devices that we "directly" support. If you have a significant problem that cannot be answered in this thread, your best bet is to contact us via our website, or find us in our IRC channel below. If you see someone that's struggling, feel free to point it out to us. We need your help to help us keep track of all of our devices! Thanks!
Click to expand...
Click to collapse
Additional Help/Support:
Live support is available via #twrp on Freenode with your IRC client or just click this link.
Click to expand...
Click to collapse
XDA:DevDB Information
TeamWin Recovery Project (TWRP), Tool/Utility for the HTC One (M9)
Contributors
Captain_Throwback, Dees_Troy, bigbiff, _that, nkk71
Source Code: https://github.com/TeamWin/android_bootable_recovery
Version Information
Status: Stable
Current Stable Version: 3.4.0-0
Stable Release Date: 2020-06-24
Created 2015-03-28
Last Updated 2020-06-25
Frequently Asked Questions (FAQ)
1. Why is this device different than my previous HTC device?
With the M9, HTC has moved to a block-based OTA system. This means that even mounting system as read-write (as TWRP typically does during startup checks) will nullify the device's ability to take an OTA. Any other changes to the system partition will also cause an OTA to fail (even if that check is removed from the OTA zip) due to "unexpected contents."
2. Which version of TWRP am I supposed to use?
For AOSP/LineageOS-based ROMs: The best version to use is 3.4.0-0, the latest official TWRP from twrp.me.
For stock-based Marshmallow/Nougat ROMs: The best version to use is 3.2.3-0, from twrp.me.
For ROMs older than Marshmallow: The best version to use is 2.8.7.0, from twrp.me.
NOTE: The 3.x versions of TWRP and newer will not boot on Lollipop firmware.
3. Why is there a "System" backup option and a "System Image" backup option now?
The "System" option is the standard tar backup. The "System Image" option is only relevant if your system is unmodified. This allows you to make a fully stock backup that can be restored later to take an OTA.
NOTE: If you are using a FAT32-formatted card, a "System Image" backup will fail, due to the 4GB file limit on that format. For a successful System Image backup, NTFS or exFAT-formatted storage must be used (either SD card or USB-OTG)
4. How am I supposed to root?
Magisk is the recommended root solution, as it is actively developed and up-to-date. It also allows devices to pass Google's SafetyNet API for working contactless payments. See the below thread for full details.
Magisk
5. I tried to install x ROM, but it won't boot. Should I use TWRP 2.8.5.0 to flash it?
No, you shouldn't. You should use the version of TWRP recommended above. If the ROM updater-script is done properly, even if your device has system mounted read-only, the ROM should still flash fine. If your ROM chef/team has chosen to mount the partitions some other way, then you may have to mount system manually in order for the ROM to flash successfully. This can be done in the Mount menu, by unchecking the "Mount system as read-only" box and then checking the box next to System to mount it. The very act of booting 2.8.5.0 will change the system checksum, making it impossible to get a fully stock backup.
6. So what's the proper procedure to root without breaking OTA?
There is no way to take an OTA after you root. However, prior to rooting, you can take a fully untouched system image backup with TWRP, which can be used to restore a fully stock system to the device in order to take an OTA.
7. How do I backup stock recovery prior to flashing TWRP?
You can't. The "fastboot boot" command appears to be disabled on the M9's ABOOT, so TWRP must be fastboot flashed over stock recovery. The firmware zip included in the OTA will include a usable stock recovery image. That can be extracted and flashed after stock system is restored so that the OTA can be applied.
UPDATE: As of 3.x firmware, the M9 now supports the fastboot boot function from the bootloader! Now you can fastboot boot TWRP, and then select "Recovery" to back up stock recovery.
8. How do I restore stock system so that I can accept an OTA?
Check the "Mount system as read-only" box in the Mount menu.
Restore stock "System Image" backup (This will only work if you've made a System Image backup prior to making any modifications to /system). As of the official 2.8.6.1 version, it is no longer necessary to fastboot flash the stock system image.
NOTE: If you made a stock system backup with one of the Beta TWRP versions, you will have to rename the backup file in the backup folder manually from "system.emmc.win" to "system_image.emmc.win" for the new official TWRP to see it as a "System Image" backup rather than a "System" backup. Otherwise, you'll get an error that the backup can't be restored because system is read-only.
Fastboot flash stock recovery (fastboot flash recovery recovery_signed.img)
NOTE: It is also possible to restore stock recovery via the TWRP GUI. Rename the stock recovery file to "recovery.emmc.win" and place in the backup folder with the stock system image. Recovery will then show as a restore option. MAKE SURE YOU REALLY WANT TO DO THIS, AS TWRP WILL BE GONE WHEN YOU REBOOT OUT OF RECOVERY!!
Reboot to system, install OTA.
9. What if I have an RUU? Do I need to worry about all this OTA nonsense?
Not if you don't care about losing all your data. If you're S-ON and have an RUU available for your exact variant (model ID and CID must match) and software number (main version must be the same or newer), then you can get back to a fully stock state by relocking (fastboot oem lock) and flashing an RUU. However, if you'd prefer to take an OTA to keep your data intact, the method stated above is how to do so. Or, you can just run a custom ROM and wait for your ROM chef to update their ROM to the latest software (though you'll still have to find a way to update your firmware if you're not S-OFF)
10. After I go through all this and successfully apply an OTA, how do I make sure I have a clean starting point again?
After the OTA is applied and TWRP is flashed, it will once again detect an untouched system, which will mount system read-only and allow you to make a fully stock backup and start the process over again, this time with the new base.
11. How do I get that new stock theme from the Screenshots tab?
See here.
12. What if I'm unlocked but unrooted and don't have access to a computer? How can I install TWRP?
See here.
TWRP now supports flashing of zips up to 4GB in size!
In order for ROM zips to function properly, ROM devs may need to change the way they're used to performing mount commands in their updater-scripts. Many ROM devs like to use busybox to mount system, like this:
Code:
run_program("/sbin/busybox", "mount", "/system");
However, on the M9, this will not always be effective, due to the variable state of system when booting into TWRP (more information in the below post). The most reliable way to mount system in TWRP is to use the below command:
Code:
run_program("/sbin/mount", "-t", "ext4", "/dev/block/bootdevice/by-name/system", "/system");
Since this calls the mount binary and specifies the proper filesystem of /system, it will work regardless of the mount state of /system within TWRP.
The reason people are having issues booting ROMs flashed without the above command is because custom ROMs typically include a command to format system within the updater-script, like this one:
Code:
run_program("/sbin/mke2fs", "-t", "ext4", "-m", "0", "/dev/block/bootdevice/by-name/system");
Notice that this calls the mke2fs binary directly and specifies the filesystem, so this command will run properly and format system. However, when the script attempts to mount system using the busybox mount command, it's unsuccessful, resulting in a failed ROM install (even though there likely isn't an error message) and an empty system partition. The same command format should be used both to format system and to mount it.
So, the solution is easy - replace your busybox mount commands with the direct version noted above. Running it that way should work regardless of the update-binary used, since it's not running mount directly but calling it (this makes a difference to some binaries for some reason). This will even work in situations where system has been mounted read-only by TWRP (more on that in the below post).
ROM Devs - please consider making this change going forward. The above method will ALWAYS WORK. Please use this and discontinue whatever other methods to mount system that you have previously used, as they will have inconsistent results, leading people to flash old versions of TWRP or blame TWRP for their errors.
I know the M9 is a very different device than we're all used to, and the rules have all changed. Let's all adapt to the change together. .
UPDATE: Thanks to @nkk71's patch, TWRP now supports flashing of zips up to 4GB in size! However, for this to work, a compatible update-binary must be used that includes the updated code. If AROMA is being used, it must also include the updated code. Fortunately, he has graciously provided these updated binaries pre-compiled for any that need them. They are attached to this post. Everyone please thank him for his work on this!! Additional information can be found here.
Nice, I was able to make a system backup with your beta version. But I'm still not able to get SuperSU installed. Recovery sais installation went fine, but it doesn't.
DroidShift79 said:
Nice, I was able to make a system backup with your beta version. But I'm still not able to get SuperSU installed. Recovery sais installation went fine, but it doesn't.
Click to expand...
Click to collapse
Recovery log?
could you tell me how to get it, Sir?
DroidShift79 said:
could you tell me how to get it, Sir?
Click to expand...
Click to collapse
adb pull /tmp/recovery.log
OR
Advanced -> Copy Log to SD. Console output will tell you where it copied.
adb won't find my Device when in recovery mode, why?
. so I copied file to external_sd.
DroidShift79 said:
adb won't find my Device when in recovery mode, why?
. so I copied file to external_sd.
Click to expand...
Click to collapse
Probably drivers. Have you installed the latest ones from HTC Sync Manager (and then uninstalled the program if you don't use it)?
good hint, I'll have to clean the driver mess
You have a clou why SuperSu doesn't surrive reboot after flashing with BETA TWRP ?
DroidShift79 said:
adb won't find my Device when in recovery mode, why?
. so I copied file to external_sd.
Click to expand...
Click to collapse
There's no installation of SuperSU in that log.
But if you already have a stock backup, let's do this:
Under Advanced, choose Terminal, press the select button to start it in the root folder, and then type this command:
Code:
mount -t ext4 /dev/block/bootdevice/by-name/system /system
Then run the SuperSU installer zip.
does doing this kills the OTA updates? Or are they killed, cos installing the beta version ?
DroidShift79 said:
does doing this kills the OTA updates? Or are they killed, cos installing the beta version ?
Click to expand...
Click to collapse
Yes it will kill OTA ability (but weren't you trying to root?). So will root. But you have a fully intact stock system backup now, so you should be fine.
No, the whole point of the beta version was to leave system intact if it was previously untouched.
Captain_Throwback said:
There's no installation of SuperSU in that log.
But if you already have a stock backup, let's do this:
Under Advanced, choose Terminal, press the select button to start it in the root folder, and then type this command:
Code:
mount -t ext4 /dev/block/bootdevice/by-name/system /system
Then run the SuperSU installer zip.
Click to expand...
Click to collapse
That did the trick. now SuperSU got installed.
Thanks for your help.
Now, If I want to go back and want to receive OTAs again, what are the needed steps?
Is flashing the OTA firmeware.zip enough?
DroidShift79 said:
That did the trick. now SuperSU got installed.
Thanks for your help.
Now, If I want to go back and want to receive OTAs again, what are the needed steps?
Is flashing the OTA firmeware.zip enough?
Click to expand...
Click to collapse
You'll need to take the stock system backup you took (from before you rooted) from the TWRP backup folder, rename to system.img, and flash via fastboot to restore stock system (fastboot flash system system.img). That'll restore system to full stock so you can take the OTA (you'll also need to flash stock recovery if you want to do a full OTA update, but the zip itself *should* flash with TWRP and you'll need to flash the firmware manually).
Once the OTA is complete, you can boot into TWRP, take another stock system backup so you have a good starting point for the next OTA, and then either mount system manually to install SuperSU (as above) or flash a custom rooted ROM.
I'm sure you or someone else can put together a guide with the exact steps. After all, this is just a humble recovery thread .
Captain_Throwback said:
Yes, system rw is disabled by default. Whether you like it or not, someone will blame TWRP for them not being able to take an OTA after restoring back to a completely stock backup because the checksum got changed. And not every device variant has an RUU available, so some people (even some devs) depend on that ability to restore to stock, take an OTA and dump again to provide ROM updates.
That being said, after a LOT of work I was able to detect whether system has been previously modified and mount system as either read-only or read-write in TWRP. So essentially on first boot up, system will be intact, you can take a backup, flash a custom ROM, and the next time you boot into recovery, it'll detect system has been modified and mount in read-write (like everyone's used to).
I posted a Beta version in the 2nd post of the TWRP thread to test until I can get a bug fix release built (there's still some testing needed on the patch that fixes the stock system backup).
Click to expand...
Click to collapse
Cheers for this and your reasoning is sound, we are very lucky on the M9 to have 401 (at least) RUUs on our device before most have received theirs!
I will check out the new beta shortly but won't be able to tell you if mounting system is disabled for unmodified systems! Got a one sentence description of how you are doing that?
Surely a simpler approach to allow SuperSU would be to allow /mount system but hide it from the GUI or via console a warning displayed, but again beyond that myself -but hopefully @Chainfire will know what to do!
Electronic Punk said:
Cheers for this and your reasoning is sound, we are very lucky on the M9 to have 401 (at least) RUUs on our device before most have received theirs!
I will check out the new beta shortly but won't be able to tell you if mounting system is disabled for unmodified systems! Got a one sentence description of how you are doing that?
Surely a simpler approach to allow SuperSU would be to allow /mount system but hide it from the GUI or via console a warning displayed, but again beyond that myself -but hopefully @Chainfire will know what to do!
Click to expand...
Click to collapse
The issue appears to be how the SuperSU zip is mounting system. Since TWRP is mounting system, but read-only, SuperSU thinks it should be writable, and doesn't try further attempts to mount it as such. @Chainfire should be able to find a way around it, though, as ROM zips mount system as ext4 and can then write to system with no issues. It's only an issue until system is mounted once in recovery - in subsequent boots, it will be writable normally.
Hello,
I am wondering if I can do fastboot boot "recovery.img" and do a backup that way to give me a clean untouched copy of my system and recovery imgs. I understand that there is going to be some changes from the old htc ways. Just trying to get something that can get me back to OTA status. With no RUU for T-Mobile yet I want to have a recovery.img as well as system.
Thanks,
Rsotbiemrptson
Rsotbiemrptson said:
Hello,
I am wondering if I can do fastboot boot "recovery.img" and do a backup that way to give me a clean untouched copy of my system and recovery imgs. I understand that there is going to be some changes from the old htc ways. Just trying to get something that can get me back to OTA status. With no RUU for T-Mobile yet I want to have a recovery.img as well as system.
Thanks,
Rsotbiemrptson
Click to expand...
Click to collapse
Try it and let us know.
Hello,
Get my device tomorrow, just doing homework now. Will let you know.
Rsotbiemrptson
Related
Team Win Recovery Project 3.x, or twrp3 for short, is a custom recovery built with ease of use and customization in mind. Its a fully touch driven user interface no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.
CHANGELOG for 3.0.2-0:
-Backups will now include adopted storage keys (Dees_Troy)
-Fixed an adb restore issue (bigbiff)
-Fixed rebooting when no OS is present (Dees_Troy)
-Fixed line wrapping in the GUI terminal (_that)
-Updated TWRP source code to AOSP 7.1.2 (Dees_Troy)
CHANGELOG for 3.1.0-0:
-vold decrypt on a few select HTC devices, TWRP will now attempt to use the system partition's vold and vdc binaries and libraries to decrypt the data partition (nkk71 and CaptainThrowback)
-adb backup to stream a backup directly to or from your PC, see documentation here: https://github.com/omnirom/android_bootable_recovery/commit/ce8f83c48d200106ff61ad530c863b15c16949d9 (bigbiff)
-tweak MTP startup routines (mdmower)
-support new Android 7.x xattrs for backup and restore to fix loss of data after a restore (Dees_Troy)
-support POSIX file capabilities backup and restore to fix VoLTE on HTC devices and possibly other issues (Dees_Troy)
-better indicate to users that internal storage is not backed up (Dees_Troy)
-improve automatic determination of TW_THEME (mdmower)
-minimal getcap and setcap support (_that)
-try mounting both ext4 and f2fs during decrypt (jcadduono and Dees_Troy)
-shut off backlight with power key (mdmower)
-timeout during FDE decrypt (Dees_Troy and nkk71)
-support for FBE decrypt and backing up and restoring FBE policies (Dees_Troy)
-boot slot support (Dees_Troy)
-TWRP app install prompt during reboot (Dees_Troy)
-support for AB OTA zips (Dees_Troy)
-support new Android 7.x log command (Dees_Troy)
-update recovery sources to AOSP 7.1 (Dees_Troy)
-numerous bugfixes and improvements by too many people to mention
CHANGELOG for 3.0.2-0:
-Fix a bug with the input box that affected masked inputs (passwords). This fixes decrypt of full device encryption on devices that support decrypt. This bug also impacts encrypted backups. Users are highly encouraged to stop using 3.0.1 if you use encrypted backups or if you need decrypt of data in TWRP.
-Add Greek translation to some builds.
CHANGELOG for 3.0.1-0:
-support new CM 13.0 pattern encryption (sultanqasim)
-fix slow flashing issue due to modprobe (present on only some devices) (#twrp)
-libtar updated to latest upstream and fixes (jcadduono)
-fixes for loading custom themes (_that)
-TWRP will now detect and install TWRP themes automatically through the normal zip install process (Dees_Troy)
-translation updates - added Italian, Czech and Polish and significant updates to Dutch
-progress bar improvements - progress bar updates during image flashing and better tracks progress during file system backups (tar) (Dees_Troy)
-fix input box text display (Dees_Troy)
-reboot option after zip install complete (bigbiff)
-other mostly invisible bug fixes and improvements
CHANGELOG for 3.0.0-0:
-Completely new theme - Much more modern and much nicer looking (by z31s1g)
-True Terminal Emulator - Includes arrow keys, tab and tab completion, etc. (by _that)
-Language translation - It won’t be perfect and especially some languages that require large font files like Chinese & Japanese won’t be availble on most devices. Also some languages may only be partially translated at this time. Feel free to submit more translations to OmniROM’s Gerrit. (mostly by Dees_Troy)
-Flashing of sparse images - On select devices you will be able to flash some parts of factory images via the TWRP GUI (by HashBang173)
-Adopted storage support for select devices - TWRP can now decrypt adopted storage partitions from Marshmallow
-Reworked graphics to bring us more up to date with AOSP - includes support for adf and drm graphics (by Dees_Troy)
-SuperSU prompt will no longer display if a Marshmallow ROM is installed
-Update exfat, exfat fuse, dosfstools (by mdmower)
-Update AOSP base to 6.0
-A huge laundry list of other minor fixes and tweaks
WARNING: This is our first release in a long time. We have a lot of new and somewhat aggressive changes in this new release. The changes to the graphics back-end may cause some devices to not boot up properly or have other display-related issues. If you are not in a position to reflash an older build of TWRP, then wait until you are or at least wait until others have tried the new version for your specific device. You don’t want to end up with a non-working recovery and have to wait several hours or days to get to a computer to be able to fix it.
Notes for themers: In addition to the udpated theme, we have introduced a theme version variable to the TWRP theme system. If the theme version does not match the version that TWRP expects, TWRP will reject the custom theme and load its stock theme. This change will ensure that people who update TWRP without updating their theme will still have a workable recovery. We have removed libjpeg support. The stock theme was only using a jpeg image for the splash / curtain. This change means that any custom themes will no longer be able to use jpeg images. It also means that tools used to repack recovery images with a different curtain / splash will need to be updated to use the new method.
Version number notes: For a while we’ve been using a 4 digit version number and reserved the 4th digit for device-specific updates. For instance, we find and fix a device-specific issue like decryption of data on Nexus 5, we would release that as a 2.8.7.1. After a while, some people would start asking where 2.8.7.1 was for other devices. So, going forward we have decided to change the numbering scheme to 3.0.0-2, etc. Our hope is that this version numbering scheme will more clearly identify that the 4th digit does not indicate a version change for the code base.
We need your help! The bulk of TWRP work is done by 3 people on a volunteer basis. We have pushed most of our device files to our github and we have a gerrit instance. If you have the ability, please help us maintain our official devices and/or add your device to our official device list. Thanks in advance!
DOWNLOAD:
1) Install the TWRP app from the Play Store or grab the apk from our website
2) Open the app, agree to the terms, and enable root access
3) Select TWRP Flash
4) Search for your device and select the version you wish to download
5) Once the download is complete, select the file (it's usually in your downloads folder) and then Flash Recovery
OR:
Most devices can be updated quickly and easily within TWRP if you already have version 2.8.4.0 or higher installed
1) Download the latest version from our website on your device
2) Reboot to TWRP
3) Hit Install and tap the "Images..." button in the lower right
4) Browse to the location of the TWRP image on your device and select it
5) Select recovery from the partition list and swipe to flash
OR:
You can find more information and download links on our website.
BUGS:
If you have found a bug, please consider posting it to our github issues log. It's pretty much impossible for us to keep up with the more than 40 threads that we have for the devices that we "directly" support. If you have a significant problem that cannot be answered in this thread, your best bet is to PM me directly, contact us via our website, or find us in our IRC channel below. If you see someone that's struggling, feel free to point it out to us. We need your help to help us keep track of all of our devices! Thanks!
SUPPORT:
Live support is available via #twrp on Freenode with your IRC client or just click this link.
Reserved
Device specific page with instructions for a manual install.
Mirror for current and past versions.
Thanks to jmztaylor for making Desire 610 officially supported!
Thanks for letting me make it official
Enjoy guys
Be sure to check out TWRP Manager which makes a nice companion to this recovery
Thank you guys! With this recovery comes official root support!
Thank you for the recovery. Great job!
Sent from my HTC Desire 610 using Tapatalk
Hi. Can you reup recovery to another site?
I'm having problems with downloading.
Thanks
DragonFatura said:
Hi. Can you reup recovery to another site?
I'm having problems with downloading.
Thanks
Click to expand...
Click to collapse
Maybe with Goo Manager (PlayStore)... It works on lots of devices
cbgti said:
Maybe with Goo Manager (PlayStore)... It works on lots of devices
Click to expand...
Click to collapse
Goomanager isn't supported anymore. TWRP Manager is though
Or download the IMG file from the source site and use flashify. I wouldn't recommend goo manager for this
Htc Desire 610
please help get the latest rom for my htc desire 610. was able to root successfully but what to update the rom
This is the most up to date ROM we have at the moment.
MikeA123 said:
please help get the latest rom for my htc desire 610. was able to root successfully but what to update the rom
Click to expand...
Click to collapse
installing this through TWRP 2.8.7.0 didnt work... and fastboot was even worse.
I attempted to install twrp 3.0.0 through the image install option in TWRP 2.8.7.0 and it said it worked so i rebooted to bootloader and back into recovery, and bam. no TWRP 3.0.0. only TWRP 2.8.7.0. When i tried a Fastboot install, and i did use the correct command (fastboot flash recovery <filename>, it did install TWRP 3.0.0 but it also ended up soft bricking my device. I had to do a full wipe through TWRP 3.0.0 and install CM11. not that im complaining, i just wanted to point out a bug so that other users do not end up having the same problem as me.
Half_Of_A_Life_Left said:
I attempted to install twrp 3.0.0 through the image install option in TWRP 2.8.7.0 and it said it worked so i rebooted to bootloader and back into recovery, and bam. no TWRP 3.0.0. only TWRP 2.8.7.0. When i tried a Fastboot install, and i did use the correct command (fastboot flash recovery <filename>, it did install TWRP 3.0.0 but it also ended up soft bricking my device. I had to do a full wipe through TWRP 3.0.0 and install CM11. not that im complaining, i just wanted to point out a bug so that other users do not end up having the same problem as me.
Click to expand...
Click to collapse
I just used the twrp manager app from play store. Worked fine. You do have to be rooted though for it to work.
MiniBlu said:
I just used the twrp manager app from play store. Worked fine. You do have to be rooted though for it to work.
Click to expand...
Click to collapse
ok thanks, and your CM11 ported rom is amazing, I have been using that ROM for so long with minimal bugs. just WiFi stops working after like 20 min of use so i have to reboot.
How can I back to Stock recovery?
3.1.0.0 fragged my recovery partition.
Used the twrp app, flashify, and terminal.
Recovery refuses to boot.
Gonna use my computer when I get a hold of it.
Used the all in one package to flash 3.1.0.0 and still got the recovery loop. Flashed 3.0.0.2 and recovery booted right up.
3.1 is fragged.
Team Win Recovery Project 3.x, or twrp3 for short, is a custom recovery built with ease of use and customization in mind. Its a fully touch driven user interface no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.
CHANGELOG for 3.0.2-0:
-Backups will now include adopted storage keys (Dees_Troy)
-Fixed an adb restore issue (bigbiff)
-Fixed rebooting when no OS is present (Dees_Troy)
-Fixed line wrapping in the GUI terminal (_that)
-Updated TWRP source code to AOSP 7.1.2 (Dees_Troy)
CHANGELOG for 3.1.0-0:
-vold decrypt on a few select HTC devices, TWRP will now attempt to use the system partition's vold and vdc binaries and libraries to decrypt the data partition (nkk71 and CaptainThrowback)
-adb backup to stream a backup directly to or from your PC, see documentation here: https://github.com/omnirom/android_bootable_recovery/commit/ce8f83c48d200106ff61ad530c863b15c16949d9 (bigbiff)
-tweak MTP startup routines (mdmower)
-support new Android 7.x xattrs for backup and restore to fix loss of data after a restore (Dees_Troy)
-support POSIX file capabilities backup and restore to fix VoLTE on HTC devices and possibly other issues (Dees_Troy)
-better indicate to users that internal storage is not backed up (Dees_Troy)
-improve automatic determination of TW_THEME (mdmower)
-minimal getcap and setcap support (_that)
-try mounting both ext4 and f2fs during decrypt (jcadduono and Dees_Troy)
-shut off backlight with power key (mdmower)
-timeout during FDE decrypt (Dees_Troy and nkk71)
-support for FBE decrypt and backing up and restoring FBE policies (Dees_Troy)
-boot slot support (Dees_Troy)
-TWRP app install prompt during reboot (Dees_Troy)
-support for AB OTA zips (Dees_Troy)
-support new Android 7.x log command (Dees_Troy)
-update recovery sources to AOSP 7.1 (Dees_Troy)
-numerous bugfixes and improvements by too many people to mention
CHANGELOG for 3.0.2-0:
-Fix a bug with the input box that affected masked inputs (passwords). This fixes decrypt of full device encryption on devices that support decrypt. This bug also impacts encrypted backups. Users are highly encouraged to stop using 3.0.1 if you use encrypted backups or if you need decrypt of data in TWRP.
-Add Greek translation to some builds.
CHANGELOG for 3.0.1-0:
-support new CM 13.0 pattern encryption (sultanqasim)
-fix slow flashing issue due to modprobe (present on only some devices) (#twrp)
-libtar updated to latest upstream and fixes (jcadduono)
-fixes for loading custom themes (_that)
-TWRP will now detect and install TWRP themes automatically through the normal zip install process (Dees_Troy)
-translation updates - added Italian, Czech and Polish and significant updates to Dutch
-progress bar improvements - progress bar updates during image flashing and better tracks progress during file system backups (tar) (Dees_Troy)
-fix input box text display (Dees_Troy)
-reboot option after zip install complete (bigbiff)
-other mostly invisible bug fixes and improvements
CHANGELOG for 3.0.0-0:
-Completely new theme - Much more modern and much nicer looking (by z31s1g)
-True Terminal Emulator - Includes arrow keys, tab and tab completion, etc. (by _that)
-Language translation - It won’t be perfect and especially some languages that require large font files like Chinese & Japanese won’t be availble on most devices. Also some languages may only be partially translated at this time. Feel free to submit more translations to OmniROM’s Gerrit. (mostly by Dees_Troy)
-Flashing of sparse images - On select devices you will be able to flash some parts of factory images via the TWRP GUI (by HashBang173)
-Adopted storage support for select devices - TWRP can now decrypt adopted storage partitions from Marshmallow
-Reworked graphics to bring us more up to date with AOSP - includes support for adf and drm graphics (by Dees_Troy)
-SuperSU prompt will no longer display if a Marshmallow ROM is installed
-Update exfat, exfat fuse, dosfstools (by mdmower)
-Update AOSP base to 6.0
-A huge laundry list of other minor fixes and tweaks
WARNING: This is our first release in a long time. We have a lot of new and somewhat aggressive changes in this new release. The changes to the graphics back-end may cause some devices to not boot up properly or have other display-related issues. If you are not in a position to reflash an older build of TWRP, then wait until you are or at least wait until others have tried the new version for your specific device. You don’t want to end up with a non-working recovery and have to wait several hours or days to get to a computer to be able to fix it.
Notes for themers: In addition to the udpated theme, we have introduced a theme version variable to the TWRP theme system. If the theme version does not match the version that TWRP expects, TWRP will reject the custom theme and load its stock theme. This change will ensure that people who update TWRP without updating their theme will still have a workable recovery. We have removed libjpeg support. The stock theme was only using a jpeg image for the splash / curtain. This change means that any custom themes will no longer be able to use jpeg images. It also means that tools used to repack recovery images with a different curtain / splash will need to be updated to use the new method.
Version number notes: For a while we’ve been using a 4 digit version number and reserved the 4th digit for device-specific updates. For instance, we find and fix a device-specific issue like decryption of data on Nexus 5, we would release that as a 2.8.7.1. After a while, some people would start asking where 2.8.7.1 was for other devices. So, going forward we have decided to change the numbering scheme to 3.0.0-2, etc. Our hope is that this version numbering scheme will more clearly identify that the 4th digit does not indicate a version change for the code base.
We need your help! The bulk of TWRP work is done by 3 people on a volunteer basis. We have pushed most of our device files to our github and we have a gerrit instance. If you have the ability, please help us maintain our official devices and/or add your device to our official device list. Thanks in advance!
DOWNLOAD:
1) Install the TWRP app from the Play Store or grab the apk from our website
2) Open the app, agree to the terms, and enable root access
3) Select TWRP Flash
4) Search for your device and select the version you wish to download
5) Once the download is complete, select the file (it's usually in your downloads folder) and then Flash Recovery
OR:
Most devices can be updated quickly and easily within TWRP if you already have version 2.8.4.0 or higher installed
1) Download the latest version from our website on your device
2) Reboot to TWRP
3) Hit Install and tap the "Images..." button in the lower right
4) Browse to the location of the TWRP image on your device and select it
5) Select recovery from the partition list and swipe to flash
OR:
You can find more information and download links on our website.
BUGS:
If you have found a bug, please consider posting it to our github issues log. It's pretty much impossible for us to keep up with the more than 40 threads that we have for the devices that we "directly" support. If you have a significant problem that cannot be answered in this thread, your best bet is to PM me directly, contact us via our website, or find us in our IRC channel below. If you see someone that's struggling, feel free to point it out to us. We need your help to help us keep track of all of our devices! Thanks!
SUPPORT:
Live support is available via #twrp on Freenode with your IRC client or just click this link.
At least running the stock ROM from Google, the Nexus 6 is *ALWAYS* encrypted even if you did not set up encryption. It uses "default_password" as the default password. TWRP can decrypt this and will do so automatically if the default_password is in use.
If you have not unlocked your bootloader, you will need to do so. Hold volume up and down while turning the device on. You will be in the bootloader. Do a "fastboot oem unlock" followed by a "fastboot reboot" from your computer to unlock. This will wipe all of your data including internal storage so back up anything you might want first. If you do not fastboot reboot before installing TWRP, you will probably have to perform a "Format Data" from within TWRP. It is highly recommended that you let the device boot normally immediately after doing the fastboot oem unlock and wait to install TWRP after the first successful boot after the unlock.
Device specific page on our website.
Download link for current and past versions.
Awesome! Thanks!
sweet, thanks
Well, that sure took a long time Good stuff!
Wow, that was fast. Thanks for the work!
Wow that was fast! I thought we would have root before TWRP but I'm happy we have a recovery!
Thank you! I will be using this as soon as I get my Nexus 6
Can someone explain the following to someone who has never unlocked bootloader?
"followed by a "fastboot reboot" from your computer to unlock"
EDIT
Found a good link:
http://forum.xda-developers.com/showthread.php?t=2317790
Nice to see twrp on N6 so soon. I'll be having mines tomorrow, looking forward to putting my favorite recovery.
Sent from my A0001 using Tapatalk
Super Good Advice:
fastboot boot openrecovery.img
Does work on our NX6. Thank you so much for the speed on putting this out!
VTEChump said:
Can someone explain the following to someone who has never unlocked bootloader?
"followed by a "fastboot reboot" from your computer to unlock"
Click to expand...
Click to collapse
You should be in fastboot when you run your OEM unlock command. Once you acknowledge on the device and its done, your still in fastboot on your phone. So fastboot reboot will reboot the device, since its still in fast boot, it will boot to recovery, wipe your device and then reboot again by itself and you'll be unlocked.
Make sense?
Excellent!!
Dees_Troy said:
At least running the stock ROM from Google, the Nexus 6 is *ALWAYS* encrypted even if you did not set up encryption. It uses "default_password" as the default password. TWRP can decrypt this and will do so automatically if the default_password is in use.
If you have not unlocked your bootloader, you will need to do so. Hold volume up and down while turning the device on. You will be in the bootloader. Do a "fastboot oem unlock" followed by a "fastboot reboot" from your computer to unlock. This will wipe all of your data including internal storage so back up anything you might want first. If you do not fastboot reboot before installing TWRP, you will probably have to perform a "Format Data" from within TWRP. It is highly recommended that you let the device boot normally immediately after doing the fastboot oem unlock and wait to install TWRP after the first successful boot after the unlock.
Device specific page on our website.
Download link for current and past versions.
Click to expand...
Click to collapse
Quickie clarification question then...
With the decryption support...all we're lacking now to run N6 decrypted are custom ROMs (with the fstab encrypt flag changed)? Just want to make sure I and the peanut gallery understand right.
Nice!
isn't there no available root method for our device yet?
I am confused. How can one use the Play Store app if there is no root yet for the Nexus 6?
Correct, we don't (yet) have root at the time of this writing so you have to either flash it with fastboot or boot it with fastboot. Which is easy enough to do.
Oh man, I can't wait to get mine tomorrow, this weekend is going to be fantastic, sitting on my butt and playing with my phone.
mrfuzzie23 said:
isn't there no available root method for our device yet?
Click to expand...
Click to collapse
I just noticed CFAR listed on his page for shamu, haven't tried it yet though
Ran the script and successfully gained root! Chainfire is amazing
http://autoroot.chainfire.eu/
Code:
[CENTER]*** Disclaimer ***
All flashing is done at your own risk!
While nothing from this thread should break your device,
don't come back here blaming anyone if it does![/CENTER]
Introduction
Team Win Recovery Project 3.x, or twrp3 for short, is a custom recovery built with ease of use and customization in mind. Its a fully touch driven user interface no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.
Click to expand...
Click to collapse
Images
Installation instructions
TWRP Image Install method:
Most devices can be updated quickly and easily within TWRP if you already have version 2.8.4.0 or higher installed.
Download the latest version of TWRP appropriate for your device/firmware
Reboot to TWRP
Hit Install and tap the "Install Image" button in the lower right
Browse to the location of the TWRP image on your device and select it
Select recovery from the partition list and swipe to flash
Alternate Installation Method:
Fastboot Install Method:
You will need the platform-tools from the Android SDK on your computer. Find the Android command line tools section on the page linked and install the SDK tools package. From the SDK Manager, download only the platform-tools to get adb and fastboot binaries.
Windows users will need proper drivers installed on their computer. You can try the Naked ADB drivers or the Universal ADB drivers if you don't already have a working driver installed
On your device, go into Settings -> About and find the Build Number and tap on it 7 times to enable developer settings. Press back and go into Developer Options and enable USB debugging. From your computer, open a command prompt and type:
Code:
adb reboot bootloader
You should now be in fastboot mode.
Download the correct image file and copy the file into the same folder as your adb and fastboot binaries. Rename the image to twrp.img and type:
Code:
fastboot flash recovery twrp.img
Code:
fastboot reboot
Click to expand...
Click to collapse
Device Changelog
Current version: 3.4.0-0:
Code:
[LIST]Initial official release - no device-specific changes[/LIST]
Older Device-specific versions:
Code:
[LIST]N/A[/LIST]
Click to expand...
Click to collapse
TWRP Official Changelog
Current version: 3.4.0:
Code:
System As Root (SAR)
[LIST]Fix backup and restore using SAR - dianlujitao
[*]System mount point - Chaosmaster
[*]ORS - Chaosmaster
[*]Zip install - Chaosmaster
[*]system_root bind mount to /system - Chaosmaster
[*]Autodetection of SAR - Chaosmaster[/LIST]
Digest
[LIST]fix creation of digests for sub-partitions (was bugfix applied to many devices since last year) - Bigbiff[/LIST]
Encryption
[LIST]ext4Crypt Wrapped Key Update - Peter Cai
[*]Fix upgrading encryption key if export fails - Peter Cai
[*]Fix wrapped key support for devices without metadata partition - mauronofrio
[*]Don't skip decryption when using block map file in order to write to /data in ORS - CaptainThrowback
[*]FDE - Decrypt master key first - AndroidableDroid
[*]vold_decrypt - set Android version and patch level automatically - CaptainThrowback
[*]Set wrapped decrypt support by twrp flag - Peter Cai
[*]Don't try wrapped support unless needed - mauronofrio
[*]restore ext4 policy on /data/cache - Bigbiff
[*]multiuser decryption - Noah Jacobson
[*]FDE retry - AndroidableDroid[/LIST]
TWRP App
[LIST]unmount system after checking for app - Bigbiff[/LIST]
Prebuilt updates
[LIST][email protected] - cryptomilk[/LIST]
Compilation Fixes
[LIST]TW_EXFAT_FUSE compilation fixes - Bigbiff
[*]libuuid - cryptomilk
[*]'system/etc/ld.config.txt' not found error - Martin Dünkelmann[/LIST]
Language Updates
[LIST]Portugal - Vasco Machado
[*]Dutch - Ian Macdonald
[*]Turkish - Fatih Fırıncı
[*]Localisation of Backup_Tar - Ian Macdonald[/LIST]
ld.config.txt
[LIST]updates for 8.x trees - CaptainThrowback
[*]fix search path for /sbin - CaptainThrowback
[*]/sbin should come first in search path - Ian Macdonald[/LIST]
General Bugs
[LIST]Fix persistent log storage - SyberHexen
[*]Compress Persistent Logs - Bigbiff
[*]FB2PNG compilation errors - Bigbiff
[*]exclude per_boot from backups - Darth9
[*]Unmount all directories that point to same block device - AndroidableDroid
[*]Blank screen fixes - Sean hoyt
[*]Toolbox is default on android-9+ - mauronofrio[/LIST]
Cleanup
[LIST]Typo fix in comment - VDavid003
[*]newlines in ext4crypt - CaptainThrowback
[*]TW_OEM_BUILD compilation issue - Patrick Zacharias
[*]Fix Dependency requirements - Dees_Troy
[*]Fix Symbolic links for BB and Toolbox - Dees_Troy[/LIST]
Bootloader Message
[LIST]cleanup - Alessandro Astone
[*]add configurable offsets[/LIST]
Error Cleanup
[LIST]uevent errors and decryption error - mauronofrio
[*]using copy_file to copy files from /etc - CaptainThrowback
[*]ueventd access to /acct - early directory creation in init - cryptomilk[/LIST]
Haptics
[LIST]TSP Driver - LameMonster82
[*]QTI Input - AndroidableDroid[/LIST]
update_engine
[LIST]read all asserts - Hernán Castañón[/LIST]
Resetprop
[LIST]Add Resetprop from Magisk - CaptainThrowback & mauronofrio
[*]compile from source - Chaosmaster
[*]fix for android-7 and earlier - Chaosmaster
[*]cleanup for spaces in properties - AndroidableDroid[/LIST]
Properties
[LIST]Add Property override - Chaosmaster[/LIST]
Backuptool
[LIST]mount system and vendor for A/B installs for backuptool - Chaosmaster[/LIST]
twrpTar
[LIST]fix backup freezes when pigz and openaes are used - Fabrice Bellet[/LIST]
Zip Installs
[LIST]Info for A/B zip installing to inactive slot - Chaosmaster
[*]Reboot to system button now allows to be rebooted to different partitions after zip install
[*]progressbar rework - Chaosmaster[/LIST]
Magisk updates
[LIST]update binaries from source - AndroidableDroid[/LIST]
A/B Updater Zip Template
[LIST]rewrite A/B installer zip from scratch using a new generic template and latest magiskboot - osm0sis
[*]installer zip support for recovery_a/recovery_b partition ramdisks on newer 2SI SAR A/B devices - osm0sis
[*]generate installer zips for all prod A/B devices - bigbiff
[*]improve installer zip dump/write speed and add more error catching - arter97 & osm0sis[/LIST]
OZIP Encryption Support
[LIST]add OZIP encryption - mauronofrio[/LIST]
File Selector
[LIST]Support for more extensions in File Selector - mauronofrio[/LIST]
Older versions:
Code:
[SIZE="4"][COLOR="Green"]3.3.1:[/COLOR][/SIZE]
[LIST]Fix selinux issues during formatting - dianlujitao
[*]Various fixes for toybox and toolbox builds - CaptainThrowback and bigbiff
[*]Flash both A and B partitions when installing a recovery ramdisk - Dees_Troy
[*]Add option to uninstall TWRP app from /system - Dees_Troy
[*]Create digest for subpartitions - bigbiff[/LIST]
[SIZE="4"][COLOR="Green"]3.3.0:[/COLOR][/SIZE]
[LIST]Merge AOSP 9.0 r3 (Dees_Troy)
[*]Use ANDROID_ROOT variable instead of hard coding to /system (CaptainThrowback)
[*]Decrypt FBE on 9.0 and metadata decrypt (Dees_Troy)
[*]vold decrypt updates (nijel8, CaptainThrowback)
[*]Support vibration on LED class devices (notsyncing)
[*]Metadata decrypt support for Pixel 3 (Dees_Troy)
[*]Support rotating the display via build flag (vladimiroltean)
[*]Reboot to EDL mode button (mauronofrio)
[*]Support MTP on FFS devices (bigbiff)
[*]Update FDE decrypt to support keymaster 3 and 4 (Dees_Troy)
[*]Detect mkfs.f2fs version to properly format on f2fs partitions (Dees_Troy)
[*]Allow TWRP to use md5 and sha256 checksums for zip installs (bigbiff)
[*]TWRP can use /data/cache/recovery and /persist/cache/recovery on AB devices with no cache partition (bigbiff)
[*]Switch part of advanced menus in TWRP to use a listbox of options (Dees_Troy)
[*]Use magiskboot to allow repacking boot images for installing TWRP (Dees_Troy with thanks to topjohnwu of course)[/LIST]
[SIZE="4"][COLOR="Green"]3.2.3:[/COLOR][/SIZE]
[LIST]Fix automatic installing of OTA zips on encrypted devices
[*]Remove SuperSU from TWRP
[*]Support both md5 and md5sum file extensions when doing MD5 checking for zip files[/LIST]
[SIZE="4"][COLOR="Green"]3.2.2:[/COLOR][/SIZE]
[LIST]adb backup fixes
[*]OTA style update zips will now install automatically without prompting for decrypt
[*]minor tweaks to handling date/time on Qualcomm devices
[*]updates to some language translations[/LIST]
[SIZE="4"][COLOR="Green"]3.2.1:[/COLOR][/SIZE]
[LIST]minui fixes (cryptomilk)
[*]Better android-8.0 compatibility in ROM trees (Dees_Troy)
[*]Fix missing library in android-8.0 (nkk71)
[*]Fix inconsistent SDCard naming (DevUt)
[*]Default to TWRP restore instead of adb backup restore to fix restore on fresh TWRP boot (jlask)[/LIST]
[SIZE="4"][COLOR="Green"]3.2.0:[/COLOR][/SIZE]
[LIST]Allow restoring adb backups in the TWRP GUI (bigbiff)
[*]Fix gzip backup error in adb backups (bigbiff)
[*]Fix a bug in TWRP's backup routines that occasionally corrupted backup files (nkk71)
[*]Better support for installing Android 8.0 based zips due to legacy props (nkk71)
[*]Support vold decrypt with keymaster 3.0 in 8.0 firmwares (nkk71)
[*]Decrypt of synthetic passwords for Pixel 2 (Dees_Troy)
[*]Support newer ext4 FBE policies for backup and restore in libtar (Dees_Troy)
[*]v2 fstab support (Dees_Troy)
[*]Bring TWRP forward to android 8.0 AOSP base (Dees_Troy)
[*]Various other minor bugfixes and tweaks[/LIST]
[SIZE="4"][COLOR="Green"]3.1.1:[/COLOR][/SIZE]
[LIST]Backups will now include adopted storage keys (Dees_Troy)
[*]Fixed an adb restore issue (bigbiff)
[*]Fixed rebooting when no OS is present (Dees_Troy)
[*]Fixed line wrapping in the GUI terminal (_that)
[*]Updated TWRP source code to AOSP 7.1.2 (Dees_Troy)[/LIST]
[SIZE="4"][COLOR="Green"]3.1.0:[/COLOR][/SIZE]
[LIST]vold decrypt on a few select HTC devices, TWRP will now attempt to use the system partition's vold and vdc binaries and libraries to decrypt the data partition (nkk71 and CaptainThrowback)
[*]adb backup to stream a backup directly to or from your PC, see documentation [URL="https://github.com/omnirom/android_bootable_recovery/commit/ce8f83c48d200106ff61ad530c863b15c16949d9"]here[/URL] (bigbiff)
[*]tweak MTP startup routines (mdmower)
[*]support new Android 7.x xattrs for backup and restore to fix loss of data after a restore (Dees_Troy)
[*]support POSIX file capabilities backup and restore to fix VoLTE on HTC devices and possibly other issues (Dees_Troy)
[*]better indicate to users that internal storage is not backed up (Dees_Troy)
[*]improve automatic determination of TW_THEME (mdmower)
[*]minimal getcap and setcap support (_that)
[*]try mounting both ext4 and f2fs during decrypt (jcadduono and Dees_Troy)
[*]shut off backlight with power key (mdmower)
[*]timeout during FDE decrypt (Dees_Troy and nkk71)
[*]support for FBE decrypt and backing up and restoring FBE policies (Dees_Troy)
[*]boot slot support (Dees_Troy)
[*]TWRP app install prompt during reboot (Dees_Troy)
[*]support for AB OTA zips (Dees_Troy)
[*]support new Android 7.x log command (Dees_Troy)
[*]update recovery sources to AOSP 7.1 (Dees_Troy)
[*]numerous bugfixes and improvements by too many people to mention[/LIST]
[SIZE="4"][COLOR="Green"]3.0.3:[/COLOR][/SIZE]
[LIST]Partial release to help support the release of the [URL="https://www.xda-developers.com/team-win-releases-their-first-official-twrp-app-in-the-play-store/"]Official TWRP app[/URL][/LIST]
[SIZE="4"][COLOR="Green"]3.0.2:[/COLOR][/SIZE]
[LIST]Fix a bug with the input box that affected masked inputs (passwords). This fixes decrypt of full device encryption on devices that support decrypt. This bug also impacts encrypted backups. Users are highly encouraged to stop using 3.0.1 if you use encrypted backups or if you need decrypt of data in TWRP.
[*]Add Greek translation to some builds.[/LIST]
[SIZE="4"][COLOR="Green"]3.0.1:[/COLOR][/SIZE]
[LIST]support new CM 13.0 pattern encryption (sultanqasim)
[*]fix slow flashing issue due to modprobe (present on only some devices) (#twrp)
[*]libtar updated to latest upstream and fixes (jcadduono)
[*]fixes for loading custom themes (_that)
[*]TWRP will now detect and install TWRP themes automatically through the normal zip install process (Dees_Troy)
[*]translation updates - added Italian, Czech and Polish and significant updates to Dutch
[*]progress bar improvements - progress bar updates during image flashing and better tracks progress during file system backups (tar) (Dees_Troy)
[*]fix input box text display (Dees_Troy)
[*]reboot option after zip install complete (bigbiff)
[*]other mostly invisible bug fixes and improvements[/LIST]
[SIZE="4"][COLOR="Green"]3.0.0:[/COLOR][/SIZE]
[LIST]Completely new theme - Much more modern and much nicer looking (by z31s1g)
[*]True Terminal Emulator - Includes arrow keys, tab and tab completion, etc. (by _that)
[*]Language translation - It won’t be perfect and especially some languages that require large font files like Chinese & Japanese won’t be availble on most devices. Also some languages may only be partially translated at this time. Feel free to submit more translations to OmniROM’s Gerrit. (mostly by Dees_Troy)
[*]Flashing of sparse images - On select devices you will be able to flash some parts of factory images via the TWRP GUI (by HashBang173)
[*]Adopted storage support for select devices - TWRP can now decrypt adopted storage partitions from Marshmallow
[*]Reworked graphics to bring us more up to date with AOSP - includes support for adf and drm graphics (by Dees_Troy)
[*]SuperSU prompt will no longer display if a Marshmallow ROM is installed
[*]Update exfat, exfat fuse, dosfstools (by mdmower)
[*]Update AOSP base to 6.0
[*]A huge laundry list of other minor fixes and tweaks[/LIST]
[U]Additional Notes[/U]
[LIST]WARNING: This is our first release in a long time. We have a lot of new and somewhat aggressive changes in this new release. The changes to the graphics back-end may cause some devices to not boot up properly or have other display-related issues. If you are not in a position to reflash an older build of TWRP, then wait until you are or at least wait until others have tried the new version for your specific device. You don’t want to end up with a non-working recovery and have to wait several hours or days to get to a computer to be able to fix it.
[*]Notes for themers: In addition to the updated theme, we have introduced a theme version variable to the TWRP theme system. If the theme version does not match the version that TWRP expects, TWRP will reject the custom theme and load its stock theme. This change will ensure that people who update TWRP without updating their theme will still have a workable recovery. We have removed libjpeg support. The stock theme was only using a jpeg image for the splash / curtain. This change means that any custom themes will no longer be able to use jpeg images. It also means that tools used to repack recovery images with a different curtain / splash will need to be updated to use the new method.
[*]Version number notes: For a while we’ve been using a 4 digit version number and reserved the 4th digit for device-specific updates. For instance, we find and fix a device-specific issue like decryption of data on Nexus 5, we would release that as a 2.8.7.1. After a while, some people would start asking where 2.8.7.1 was for other devices. So, going forward we have decided to change the numbering scheme to 3.0.0-2, etc. Our hope is that this version numbering scheme will more clearly identify that the 4th digit does not indicate a version change for the code base.
[*]We need your help! The bulk of TWRP work is done by 3 people on a volunteer basis. We have pushed most of our device files to our github and we have a gerrit instance. If you have the ability, please help us maintain our official devices and/or add your device to our official device list. Thanks in advance![/LIST]
[SIZE="4"][COLOR="Green"]2.8.7.0:[/COLOR][/SIZE]
[LIST]Initial ground work for software drawn keyboard (_that)
[*]Fix handling of wiping internal storage on datamedia devices (xuefer)
[*]Allow DataManager to set and read values from the system properties (xuefer)
[*]Fix crash when taking screenshots on arm64 devices (xuefer)
[*]Fix error message after an ORS script completes (Dees_Troy)
[*]Fix crashes / error when creating encrypted backups (_that, Dees_Troy)
[*]Add system read only option – more details below (Dees_Troy)
[*]Add resize2fs and GUI option to run resize2fs (Dees_Troy)
[*]Fix crash loop caused by empty lines in AOSP recovery command file (_that)
[*]Prevent duplicate page overlays such as multiple lock screens (mdmower)[/LIST]
[U]Additional Notes[/U]
[LIST]Note: As always, be sure your custom theme is up to date (or remove your custom theme) before updating TWRP.
[*]System read only option: Devices that ship with 5.0 and higher as their initial OS are using block level OTA updates. With this style of OTA update, the update script checks to see if the system partition has ever been mounted read/write. Further, the script also usually runs an SHA sum of the entire system partition to detect if any changes have been made. If any changes have been made, the OTA update will refuse to install. Since not all OEMs and devices have factory images available, we have created a new feature in TWRP that detects if the system partition has ever been mounted read/write. If not, you will be prompted asking if you want TWRP to mount system as read/write. If you choose not to allow TWRP to mount as read/write, TWRP won’t prompt to install SuperSU and TWRP won’t try to patch the stock ROM to prevent TWRP from being replaced by stock recovery. The goal of this option is to hopefully allow the user to make a raw system image backup that they can use to get back to a state where they can take OTA updates again.
[*]resize2fs feature: On some devices like the Nexus 6, the factory images include a userdata image that is the proper size only for the 32GB units. If you flash the factory image to a 64GB Nexus 6, the data partition will appear as if it only has the free space of a 32GB device. Using the resize2fs option, TWRP can resize your data partition to take up the full space available. The resize2fs may also be useful to resize system partitions on devices where custom ROM system images don’t take up the full partition space. Lastly, resize2fs may be useful in some cases to reserve the proper space at the end of a data partition for a full disk encryption key, should your partition be formatted incorrectly for some reason.
[*]This new version also marks our first set of full builds using our new jenkins build server. You can track the progress of builds at [url]https://jenkins.twrp.me[/url] and we have taken additional steps to make it easier for device maintainers to step up and submit patches to our gerrit server at [url]https://gerrit.twrp.me[/url] to help us keep devices up to date and working.[/LIST]
Click to expand...
Click to collapse
Downloads
Download
Latest Official versions
Sources
Device tree
Kernel source
Click to expand...
Click to collapse
Known Issues
Encrypted backups are broken - DO NOT USE THIS FEATURE!!
Click to expand...
Click to collapse
Bug Reporting
If you have an issue, the first step is to post a recovery log so we can determine the cause of the issue. This is done in recovery using Advanced -> Copy Log, or adb pull /tmp/recovery.log. Once a log is uploaded we can determine how best to proceed. NOTE: Posts that are reporting bugs or issues without an accompanying recovery log will be ignored! Additionally, providing details about your device setup, including variant, firmware version, and exact steps to reproduce your issue will also be helpful in diagnosing the problem.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
If your issue is determined to be a bug, please consider posting it to our github issues log. It's pretty much impossible for us to keep up with the more than 40 threads that we have for the devices that we "directly" support. If you have a significant problem that cannot be answered in this thread, your best bet is to contact us via our website, or find us in our IRC channel below. If you see someone that's struggling, feel free to point it out to us. We need your help to help us keep track of all of our devices! Thanks!
Click to expand...
Click to collapse
Additional Help/Support:
Live support is available via #twrp on Freenode with your IRC client or just click this link.
Click to expand...
Click to collapse
XDA:DevDB Information
TeamWin Recovery Project (TWRP), Tool/Utility for the Sprint HTC EVO 4G LTE
Contributors
Captain_Throwback, Dees_Troy, bigbiff, _that
Source Code: https://github.com/TeamWin/android_bootable_recovery
Version Information
Status: Stable
Current Stable Version: 3.3.1-0
Stable Release Date: 2019-05-22
Created 2015-03-30
Last Updated 2020-06-25
Device-Specific Information
Reserved for FAQ (if needed)
Is this now the same thing as the custom TWRP downloads I've been using from you, @Captain_Throwback?
EDIT - Found my answer.
i'm stuck in a recovery loop. the main teamwin screen/blue/black background keeps flashing.
i've confirmed md5's of the 2 latest img's i've pushed over. same results.
i'm unlocked, soff, 2.10 hboot, any ideas? no roms installed, since i don't have a recovery!
2.8.7.0 is uploaded.
Anybody tried the new TWRP yet?
3.x? Yes, but for m7wls...
I gave up the jewel. Got this m7 for free.
Sent from my One using Tapatalk
Captain_Throwback said:
Anybody tried the new TWRP yet?
Click to expand...
Click to collapse
Yes, I have. Besides losing the 2.x themes, I don't know why you wouldn't want to switch.
3.1.0 Official is out.
Guys, I'm a bit late but I had this old phone lying around and wanted to install LineageOS 14.1, which makes me have to install TWRP, but in fastboot, the device doesn't show up under "fastboot devices". Is there any way that I can fix this? Thanks in advance!
Running as root and latest sdk tools?
Sent from my 2PS64 using Tapatalk
Code:
*** Disclaimer ***
All flashing is done at your own risk!
While nothing from this thread should break your device,
don't come back here blaming anyone if it does!
Introduction
Team Win Recovery Project 3.x, or twrp3 for short, is a custom recovery built with ease of use and customization in mind. Its a fully touch driven user interface no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.
Click to expand...
Click to collapse
Images
Prerequisites
Unlocked Bootloader
Click to expand...
Click to collapse
Installation instructions
Fastboot Install Method:
You will need the platform-tools from the Android SDK on your computer. Find the Android command line tools section on the page linked and install the SDK tools package. From the SDK Manager, download only the platform-tools to get adb and fastboot binaries.
Windows users will need proper drivers installed on their computer. You can try the Naked ADB drivers or the Universal ADB drivers if you don't already have a working driver installed
On your device, go into Settings -> About and find the Build Number and tap on it 7 times to enable developer settings. Press back and go into Developer Options and enable USB debugging. From your computer, open a command prompt and type:
Code:
adb reboot download
You should now be in fastboot mode.
Download the correct image file and copy the file into the same folder as your adb and fastboot binaries. Rename the image to twrp.img and type:
Code:
fastboot flash recovery twrp.img
Code:
fastboot reboot
Alternate Installation Method (requires prior TWRP installation):
TWRP Image Install method:
Most devices can be updated quickly and easily within TWRP if you already have version 2.8.4.0 or higher installed.
Download the latest version of TWRP appropriate for your device/firmware
Reboot to TWRP
Hit Install and tap the "Install Image" button in the lower right
Browse to the location of the TWRP image on your device and select it
Select recovery from the partition list and swipe to flash
Click to expand...
Click to collapse
Device Changelog
Current version: 3.5.1_9-0:
Initial version
Click to expand...
Click to collapse
Older Device-specific versions:
3.4.0-0:
Cleanup device files
Update decryption stuffs
3.2.3-1:
Updates to support AOSP Pie decryption
3.2.1-2:
Use /persist as Qualcomm time fix source during early boot
- Fixes broken time issue on Oreo firmware
3.2.1-1:
Update to source-built kernel (2.31.709.1_R2) - fixes "reboot recovery" issue
Code cleanup
3.1.1-2:
Updated kernel to Oreo 2.31.709.1 prebuilt (patched for working touch)
Add support for Oreo decryption (BIG thanks to @nkk71)
Disable f2fs & NTFS support (until kernel can be built from source to support them)
3.1.1-1:
Updated kernel to 1.28 WHL source
Enable f2fs support
Enable NTFS support
Add /persist to recovery fstab (for future compatibility)
Click to expand...
Click to collapse
Click to expand...
Click to collapse
TWRP Official Change Log
Downloads
Download
Latest Official versions
Latest Unofficial versions
Sources
Device tree
Kernel source
Click to expand...
Click to collapse
Known Issues
Device-specific
Stock Pie-based ROMs cannot be decrypted by TWRP.
As of version 3.3.0, stock Nougat can no longer be decrypted. Use 3.2.3 or older if you are still running stock Nougat.
TWRP Upstream
Encrypted backups are broken - DO NOT USE THIS FEATURE!!
Click to expand...
Click to collapse
Bug Reporting
If you have an issue, the first step is to post a recovery log so we can determine the cause of the issue. This is done in recovery using Advanced -> Copy Log, or adb pull /tmp/recovery.log. Once a log is uploaded we can determine how best to proceed. NOTE: Posts that are reporting bugs or issues without an accompanying recovery log will be ignored! Additionally, providing details about your device setup, including variant, firmware version, and exact steps to reproduce your issue will also be helpful in diagnosing the problem.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
If your issue is determined to be a bug, please consider posting it to our github issues log. It's pretty much impossible for us to keep up with the more than 40 threads that we have for the devices that we "directly" support. If you have a significant problem that cannot be answered in this thread, your best bet is to contact us via our website. If you see someone that's struggling, feel free to point it out to us. We need your help to help us keep track of all of our devices! Thanks!
Click to expand...
Click to collapse
TWRP Official Change Log
Current version: 3.5.1:
TeamWin has prepared a mini release before Android-11 support.
Android 9 Branch only:
Build fixes in 7.1 tree - CaptainThrowback
SAR Update script name for clarity - CaptainThrowback
SAR: Don't follow symbolic links for block devices - bigbiff
Android 9 and Android 10 Branches:
Wrappedkey support running only on FBE devices - CaptainThrowback
TWRP App log information reduced - epicX67
Refresh details after system wipe and adb sideload - AdrianDC
Chinese translation updates - betaxb
Support keymaster 2 - PeterCxy
add tzdata to TWRP for timezones - CaptainThrowback
ParitionManager: support delayed adopted storage mount - PeterCxy
Support to start terminal from file manager directory - AndroiableDroid
Nano support - nebrassy
Add nano support to open files from file manager - CaptainThrowback
Include new magisk apk support to be installed by TWRP - ianmacd
Add support to change directory name where TWRP stores backups - epicX67
Add bash support - not the default shell - DarthJabba9
ORS support to format data - AdrianDC
Add support to flash both slots when flashing an image - epicX67
NL translation updates - ianmacd
Cleanup
Installation cleanup - remove dupe PackageExtractFn - klabit87
Remove logd-reinit service - CaptainThrowback
Fixes
Restore system root context - bigbiff
Only include keymaster 2 if tree supports it - CaptainThrowback
Strip lines containing '--' in language_helper.py - ianmacd
Unlocalized string fix - ianmacd
Click to expand...
Click to collapse
Older versions:
3.5.0:
For this release we are breaking down new support for devices based on android trees and device compatibility. For Pie and earlier devices, they will be built out of the android-9.0 branch. For devices that
are released with Android Version 10, they will be supported under the android-10 branch. The separation became apparent when a lot of functionality was dropped in the android-10 release last year.
You will notice a new version scheme. Devices that are built in the android-9 tree will be suffixed with 3.5.0_9.
Devices built in the android-10 tree will be suffixed with 10 like 3.5.0_10. Each device tree update will have a
final suffix for any updates made for the device like 3.5.0_10-1.
Android 9 only
Fix building in android-5.1 trees - CaptainThrowback
New QTI Haptics Support - AndroidableDroid
New TSPDriver Haptics Support - LameMonster82
Selinux restore issues - AndroidableDroid
OEM build fixes - Fighter19
More file extension support in Gui file selector - Mauronofrio
FBE Fixes - CaptainThrowback
Ozip Decryption - Mauronofrio
Don't use persist for recovery logs - bigbiff
Delay touch startup if necessary - bigbiff
Spanish translation Updates - R0rt1z2
Fix cache wiping on Slot A only devices - AndroidableDroid
Exclude dumpsys directory from backups - DarthJabba9
Gerrman translation Updates - 4ndyZ
HW Rotation during runtime (does not affect touch panel) - webgeek1234
API 24 fixes - AndroidableDroid
vold_decrypt error on unmount - CaptainThrowback
Multiuser - warn when users are not decrypted - noahajac
FDE encryption fixes - CaptainThrowback
Crypto state fixes - nebrassy
Chinese translation Updates - Whyle
Theme updates to match android-10 release: CaptainThrowback
Move TWRP App install to Advanced page - Dees_Troy
Update Russian Translation - f2065
Android 10
Omni 10 minimal support: CaptainThrowback
General Bringup: Bigbiff, Mauronofrio, AndroidableDroid, CaptainThrowback, ianmacd, DarthJabba9
Encryption support: Bigbiff, Mauronofrio, CaptainThrowback
Fastbootd support: Bigbiff
Install Support: Bigbiff, CaptainThrowback
Magisk Support: Bigbiff
Backuptool Support: Chaosmaster
Apex support: Bigbiff
Dynamic Partition Support: Bigbiff
3.4.0:
System As Root (SAR)
Fix backup and restore using SAR - dianlujitao
System mount point - Chaosmaster
ORS - Chaosmaster
Zip install - Chaosmaster
system_root bind mount to /system - Chaosmaster
Autodetection of SAR - Chaosmaster
Digest
fix creation of digests for sub-partitions (was bugfix applied to many devices since last year) - Bigbiff
Encryption
ext4Crypt Wrapped Key Update - Peter Cai
Fix upgrading encryption key if export fails - Peter Cai
Fix wrapped key support for devices without metadata partition - mauronofrio
Don't skip decryption when using block map file in order to write to /data in ORS - CaptainThrowback
FDE - Decrypt master key first - AndroidableDroid
vold_decrypt - set Android version and patch level automatically - CaptainThrowback
Set wrapped decrypt support by twrp flag - Peter Cai
Don't try wrapped support unless needed - mauronofrio
restore ext4 policy on /data/cache - Bigbiff
multiuser decryption - Noah Jacobson
FDE retry - AndroidableDroid
TWRP App
unmount system after checking for app - Bigbiff
Prebuilt updates
[email protected] - cryptomilk
Compilation Fixes
TW_EXFAT_FUSE compilation fixes - Bigbiff
libuuid - cryptomilk
'system/etc/ld.config.txt' not found error - Martin Dünkelmann
Language Updates
Portugal - Vasco Machado
Dutch - Ian Macdonald
Turkish - Fatih Fırıncı
Localisation of Backup_Tar - Ian Macdonald
ld.config.txt
updates for 8.x trees - CaptainThrowback
fix search path for /sbin - CaptainThrowback
/sbin should come first in search path - Ian Macdonald
General Bugs
Fix persistent log storage - SyberHexen
Compress Persistent Logs - Bigbiff
FB2PNG compilation errors - Bigbiff
exclude per_boot from backups - Darth9
Unmount all directories that point to same block device - AndroidableDroid
Blank screen fixes - Sean hoyt
Toolbox is default on android-9+ - mauronofrio
Cleanup
Typo fix in comment - VDavid003
newlines in ext4crypt - CaptainThrowback
TW_OEM_BUILD compilation issue - Patrick Zacharias
Fix Dependency requirements - Dees_Troy
Fix Symbolic links for BB and Toolbox - Dees_Troy
Bootloader Message
cleanup - Alessandro Astone
add configurable offsets
Error Cleanup
uevent errors and decryption error - mauronofrio
using copy_file to copy files from /etc - CaptainThrowback
ueventd access to /acct - early directory creation in init - cryptomilk
Haptics
TSP Driver - LameMonster82
QTI Input - AndroidableDroid
update_engine
read all asserts - Hernán Castañón
Resetprop
Add Resetprop from Magisk - CaptainThrowback & mauronofrio
compile from source - Chaosmaster
fix for android-7 and earlier - Chaosmaster
cleanup for spaces in properties - AndroidableDroid
Properties
Add Property override - Chaosmaster
Backuptool
mount system and vendor for A/B installs for backuptool - Chaosmaster
twrpTar
fix backup freezes when pigz and openaes are used - Fabrice Bellet
Zip Installs
Info for A/B zip installing to inactive slot - Chaosmaster
Reboot to system button now allows to be rebooted to different partitions after zip install
progressbar rework - Chaosmaster
Magisk updates
update binaries from source - AndroidableDroid
A/B Updater Zip Template
rewrite A/B installer zip from scratch using a new generic template and latest magiskboot - osm0sis
installer zip support for recovery_a/recovery_b partition ramdisks on newer 2SI SAR A/B devices - osm0sis
generate installer zips for all prod A/B devices - bigbiff
improve installer zip dump/write speed and add more error catching - arter97 & osm0sis
OZIP Encryption Support
add OZIP encryption - mauronofrio
File Selector
Support for more extensions in File Selector - mauronofrio
3.3.1:
Fix selinux issues during formatting - dianlujitao
Various fixes for toybox and toolbox builds - CaptainThrowback and bigbiff
Flash both A and B partitions when installing a recovery ramdisk - Dees_Troy
Add option to uninstall TWRP app from /system - Dees_Troy
Create digest for subpartitions - bigbiff
3.3.0:
Merge AOSP 9.0 r3 (Dees_Troy)
Use ANDROID_ROOT variable instead of hard coding to /system (CaptainThrowback)
Decrypt FBE on 9.0 and metadata decrypt (Dees_Troy)
vold decrypt updates (nijel8, CaptainThrowback)
Support vibration on LED class devices (notsyncing)
Metadata decrypt support for Pixel 3 (Dees_Troy)
Support rotating the display via build flag (vladimiroltean)
Reboot to EDL mode button (mauronofrio)
Support MTP on FFS devices (bigbiff)
Update FDE decrypt to support keymaster 3 and 4 (Dees_Troy)
Detect mkfs.f2fs version to properly format on f2fs partitions (Dees_Troy)
Allow TWRP to use md5 and sha256 checksums for zip installs (bigbiff)
TWRP can use /data/cache/recovery and /persist/cache/recovery on AB devices with no cache partition (bigbiff)
Switch part of advanced menus in TWRP to use a listbox of options (Dees_Troy)
Use magiskboot to allow repacking boot images for installing TWRP (Dees_Troy with thanks to topjohnwu of course)
3.2.3:
Fix automatic installing of OTA zips on encrypted devices
Remove SuperSU from TWRP
Support both md5 and md5sum file extensions when doing MD5 checking for zip files
3.2.2:
adb backup fixes
OTA style update zips will now install automatically without prompting for decrypt
minor tweaks to handling date/time on Qualcomm devices
updates to some language translations
3.2.1:
minui fixes (cryptomilk)
Better android-8.0 compatibility in ROM trees (Dees_Troy)
Fix missing library in android-8.0 (nkk71)
Fix inconsistent SDCard naming (DevUt)
Default to TWRP restore instead of adb backup restore to fix restore on fresh TWRP boot (jlask)
3.2.0:
Allow restoring adb backups in the TWRP GUI (bigbiff)
Fix gzip backup error in adb backups (bigbiff)
Fix a bug in TWRP's backup routines that occasionally corrupted backup files (nkk71)
Better support for installing Android 8.0 based zips due to legacy props (nkk71)
Support vold decrypt with keymaster 3.0 in 8.0 firmwares (nkk71)
Decrypt of synthetic passwords for Pixel 2 (Dees_Troy)
Support newer ext4 FBE policies for backup and restore in libtar (Dees_Troy)
v2 fstab support (Dees_Troy)
Bring TWRP forward to android 8.0 AOSP base (Dees_Troy)
Various other minor bugfixes and tweaks
3.1.1:
Backups will now include adopted storage keys (Dees_Troy)
Fixed an adb restore issue (bigbiff)
Fixed rebooting when no OS is present (Dees_Troy)
Fixed line wrapping in the GUI terminal (_that)
Updated TWRP source code to AOSP 7.1.2 (Dees_Troy)
3.1.0:
vold decrypt on a few select HTC devices, TWRP will now attempt to use the system partition's vold and vdc binaries and libraries to decrypt the data partition (nkk71 and CaptainThrowback)
adb backup to stream a backup directly to or from your PC, see documentation here (bigbiff)
tweak MTP startup routines (mdmower)
support new Android 7.x xattrs for backup and restore to fix loss of data after a restore (Dees_Troy)
support POSIX file capabilities backup and restore to fix VoLTE on HTC devices and possibly other issues (Dees_Troy)
better indicate to users that internal storage is not backed up (Dees_Troy)
improve automatic determination of TW_THEME (mdmower)
minimal getcap and setcap support (_that)
try mounting both ext4 and f2fs during decrypt (jcadduono and Dees_Troy)
shut off backlight with power key (mdmower)
timeout during FDE decrypt (Dees_Troy and nkk71)
support for FBE decrypt and backing up and restoring FBE policies (Dees_Troy)
boot slot support (Dees_Troy)
TWRP app install prompt during reboot (Dees_Troy)
support for AB OTA zips (Dees_Troy)
support new Android 7.x log command (Dees_Troy)
update recovery sources to AOSP 7.1 (Dees_Troy)
numerous bugfixes and improvements by too many people to mention
3.0.3:
Partial release to help support the release of the Official TWRP app
3.0.2:
Fix a bug with the input box that affected masked inputs (passwords). This fixes decrypt of full device encryption on devices that support decrypt. This bug also impacts encrypted backups. Users are highly encouraged to stop using 3.0.1 if you use encrypted backups or if you need decrypt of data in TWRP.
Add Greek translation to some builds.
3.0.1:
support new CM 13.0 pattern encryption (sultanqasim)
fix slow flashing issue due to modprobe (present on only some devices) (#twrp)
libtar updated to latest upstream and fixes (jcadduono)
fixes for loading custom themes (_that)
TWRP will now detect and install TWRP themes automatically through the normal zip install process (Dees_Troy)
translation updates - added Italian, Czech and Polish and significant updates to Dutch
progress bar improvements - progress bar updates during image flashing and better tracks progress during file system backups (tar) (Dees_Troy)
fix input box text display (Dees_Troy)
reboot option after zip install complete (bigbiff)
other mostly invisible bug fixes and improvements
3.0.0:
Completely new theme - Much more modern and much nicer looking (by z31s1g)
True Terminal Emulator - Includes arrow keys, tab and tab completion, etc. (by _that)
Language translation - It won’t be perfect and especially some languages that require large font files like Chinese & Japanese won’t be availble on most devices. Also some languages may only be partially translated at this time. Feel free to submit more translations to OmniROM’s Gerrit. (mostly by Dees_Troy)
Flashing of sparse images - On select devices you will be able to flash some parts of factory images via the TWRP GUI (by HashBang173)
Adopted storage support for select devices - TWRP can now decrypt adopted storage partitions from Marshmallow
Reworked graphics to bring us more up to date with AOSP - includes support for adf and drm graphics (by Dees_Troy)
SuperSU prompt will no longer display if a Marshmallow ROM is installed
Update exfat, exfat fuse, dosfstools (by mdmower)
Update AOSP base to 6.0
A huge laundry list of other minor fixes and tweaks
Additional Notes
WARNING: This is our first release in a long time. We have a lot of new and somewhat aggressive changes in this new release. The changes to the graphics back-end may cause some devices to not boot up properly or have other display-related issues. If you are not in a position to reflash an older build of TWRP, then wait until you are or at least wait until others have tried the new version for your specific device. You don’t want to end up with a non-working recovery and have to wait several hours or days to get to a computer to be able to fix it.
Notes for themers: In addition to the updated theme, we have introduced a theme version variable to the TWRP theme system. If the theme version does not match the version that TWRP expects, TWRP will reject the custom theme and load its stock theme. This change will ensure that people who update TWRP without updating their theme will still have a workable recovery. We have removed libjpeg support. The stock theme was only using a jpeg image for the splash / curtain. This change means that any custom themes will no longer be able to use jpeg images. It also means that tools used to repack recovery images with a different curtain / splash will need to be updated to use the new method.
Version number notes: For a while we’ve been using a 4 digit version number and reserved the 4th digit for device-specific updates. For instance, we find and fix a device-specific issue like decryption of data on Nexus 5, we would release that as a 2.8.7.1. After a while, some people would start asking where 2.8.7.1 was for other devices. So, going forward we have decided to change the numbering scheme to 3.0.0-2, etc. Our hope is that this version numbering scheme will more clearly identify that the 4th digit does not indicate a version change for the code base.
We need your help! The bulk of TWRP work is done by 3 people on a volunteer basis. We have pushed most of our device files to our github and we have a gerrit instance. If you have the ability, please help us maintain our official devices and/or add your device to our official device list. Thanks in advance!
2.8.7.0:
Initial ground work for software drawn keyboard (_that)
Fix handling of wiping internal storage on datamedia devices (xuefer)
Allow DataManager to set and read values from the system properties (xuefer)
Fix crash when taking screenshots on arm64 devices (xuefer)
Fix error message after an ORS script completes (Dees_Troy)
Fix crashes / error when creating encrypted backups (_that, Dees_Troy)
Add system read only option – more details below (Dees_Troy)
Add resize2fs and GUI option to run resize2fs (Dees_Troy)
Fix crash loop caused by empty lines in AOSP recovery command file (_that)
Prevent duplicate page overlays such as multiple lock screens (mdmower)
Additional Notes
Note: As always, be sure your custom theme is up to date (or remove your custom theme) before updating TWRP.
System read only option: Devices that ship with 5.0 and higher as their initial OS are using block level OTA updates. With this style of OTA update, the update script checks to see if the system partition has ever been mounted read/write. Further, the script also usually runs an SHA sum of the entire system partition to detect if any changes have been made. If any changes have been made, the OTA update will refuse to install. Since not all OEMs and devices have factory images available, we have created a new feature in TWRP that detects if the system partition has ever been mounted read/write. If not, you will be prompted asking if you want TWRP to mount system as read/write. If you choose not to allow TWRP to mount as read/write, TWRP won’t prompt to install SuperSU and TWRP won’t try to patch the stock ROM to prevent TWRP from being replaced by stock recovery. The goal of this option is to hopefully allow the user to make a raw system image backup that they can use to get back to a state where they can take OTA updates again.
resize2fs feature: On some devices like the Nexus 6, the factory images include a userdata image that is the proper size only for the 32GB units. If you flash the factory image to a 64GB Nexus 6, the data partition will appear as if it only has the free space of a 32GB device. Using the resize2fs option, TWRP can resize your data partition to take up the full space available. The resize2fs may also be useful to resize system partitions on devices where custom ROM system images don’t take up the full partition space. Lastly, resize2fs may be useful in some cases to reserve the proper space at the end of a data partition for a full disk encryption key, should your partition be formatted incorrectly for some reason.
This new version also marks our first set of full builds using our new jenkins build server. You can track the progress of builds at https://jenkins.twrp.me and we have taken additional steps to make it easier for device maintainers to step up and submit patches to our gerrit server at https://gerrit.twrp.me to help us keep devices up to date and working.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
Frequently Asked Questions (FAQ)
1. Why is this device different than my previous HTC device?
With the U11 (like the 10, M9 and A9 prior to it), HTC has moved to a block-based OTA system. This means that even mounting system as read-write (as TWRP typically does during startup checks) will nullify the device's ability to take an OTA. Any other changes to the system partition will also cause an OTA to fail (even if that check is removed from the OTA zip) due to "unexpected contents." Additionally, see this HTC 10 thread.
2. I decrypted my device and now I don't have signal. Did a TWRP update cause this?
No, this is not a TWRP issue. It appears that on the U11, having a decrypted device prevents the SIM card/telephony from initializing, resulting in no mobile signal or data connection. The device comes with forced encryption enabled and currently must remain that way in order for mobile signal/data to work. TWRP does not change or affect any of that.
3. Which version of TWRP am I supposed to use?
For all ROMs except stock-based Nougat ROMs: The best version to use is 3.4.0-0, the latest official TWRP from twrp.me.
For stock-based Nougat ROMs: The best version to use is 3.2.3-0, from twrp.me.
4. Why is there a "System" backup option and a "System Image" backup option now?
The "System" option is the standard tar backup. "System Image" is a dd backup of the entire system block device (/dev/block/bootdevice/by-name/system). The "System Image" option is only relevant if your system is unmodified. This allows you to make a fully stock backup that can be restored later to take an OTA.
NOTE: You only need to choose ONE of these options when making a backup!!
NOTE 2: If you are using a FAT32-formatted card, a "System Image" backup may fail (depending on your variant), due to the 4GB file limit on that format. For a successful System Image backup, internal storage or NTFS/exFAT-formatted external storage must be used (either SD card or USB-OTG)
5. How am I supposed to root?
Since the U11 has dm-verity enabled and forces encryption by default, root can only be achieved using a "systemless" root method. Magisk is the recommended root solution, as it is actively developed and up-to-date. It also allows devices to pass Google's SafetyNet API for working contactless payments. See the below thread for full details.
Magisk
6. How do I backup stock recovery prior to flashing TWRP?
On the U11, you can "fastboot boot twrp-3.1.1-0-ocn.img" (from bootloader, not download mode) this will directly boot into TWRP without modifying your currently installed recovery. You can then backup stock recovery from within TWRP.
You flash TWRP from download mode, but you boot TWRP from bootloader ('adb reboot bootloader').
Another common method is to extract the stock recovery.img from the OTA firmware.zip when it's received and use that to install the OTA.
7. How do I restore stock system so that I can accept an OTA?
Check the "Mount system as read-only" box in the Mount menu.
Restore stock "System Image" backup (This will only work if you've made a System Image backup prior to making any modifications to /system).
Fastboot flash stock recovery (fastboot flash recovery recovery_signed.img)
NOTE: It is also possible to restore stock recovery via the TWRP GUI. Rename the stock recovery file to "recovery.emmc.win" and place in the backup folder with the stock system image. Recovery will then show as a restore option. MAKE SURE YOU REALLY WANT TO DO THIS, AS TWRP WILL BE GONE WHEN YOU REBOOT OUT OF RECOVERY!!
NOTE 2: It is possible to install an OTA without using stock recovery (i.e. installing it with TWRP). TWRP will not flash the firmware.zip included in an OTA file. Please see here for a detailed description of the process. (That post is for the HTC 10, for the U11 the proper zip filename would be 2PZCIMG.zip instead of 2PS6IMG.zip)
Reboot to system, install OTA.
8. What if I have an RUU? Do I need to worry about all this OTA nonsense?
Not if you don't care about losing all your data. If you're S-ON and have an RUU available for your exact variant (model ID and CID must match) and software number (main version must be the same or newer), then you can get back to a fully stock state by flashing an RUU.
However, if you'd prefer to take an OTA to keep your data intact, the method stated above is how to do so. Or, you can just run a custom ROM and wait for your ROM chef to update their ROM to the latest software (though you'll still have to find a way to update your firmware if you're not S-OFF)
9. After I go through all this and successfully apply an OTA, how do I make sure I have a clean starting point again?
After the OTA is applied and TWRP is booted or flashed, it will once again detect an untouched system, which will mount system read-only and allow you to make a fully stock backup and start the process over again, this time with the new base.
10. After I restored my Data backup and boot back to Android, I'm entering the correct PIN/password, but it's telling me the password is wrong. What happened, and how do I fix it?
It appears that sometimes after restoring a backup of Data where security was enabled (such as a PIN or password lock), the device does not recognize the correct password. There are two ways to avoid this issue:
Disable security in Android before making a backup of data.
After restoring Data, while still in TWRP, use the TWRP File Manager to navigate to /data/system and delete all the locksettings.* files (such as locksettings.db, etc). When you reboot, the password will be gone.
11. Information about encrypted devices (by default all U11 devices are encrypted using FDE force-encrypt)
TWRP decryption on the U11 relies on the currently running ROM's own system files using 'vold_decrypt' to be able to decrypt your data partition.
If you intentionally or accidentally delete your system partition, and boot into TWRP without the needed system files, decryption will fail and you will be prompted to enter your password, which will continually fail due to the missing system files.
When the TWRP console is shown during decryption, you will see a red text: "Missing files needed by vold decrypt: /system/bin/vold".
If you encounter this situation, do not panic, do not format your data partition, you will most likely be able to decrypt again, once you have the needed setup back in place, without any data loss.
The easiest way to do this:
Cancel the decrypt prompt
Restore your last System or System_Image backup (no other partitions need to be restored!)
Reboot to bootloader and then back to TWRP (since currently the direct reboot to recovery is broken due to the lack of kernel source code)
Alternatively, in case you do not have a backup available, you can dirty flash whatever ROM you are running, or even fastboot flash a proper system.img, but considering that your system partition is not likely to have changed, since these days most things are run systemless, the restore is the easiest and fastest.
Reserved
Rest in peace: XDA Recognized Developer nkk71 has passed away
What's causing all the trouble regarding MTP/UMS here is HTC switching from sysfs to configfs for usb (it's weird because it's still labeled as "testing" in the latest Linux kernel....)
For those who like to have some info, you can check out the official documentation:
https://github.com/torvalds/linux/blob/master/Documentation/usb/gadget_configfs.txt
And for USB mass storage:
https://github.com/torvalds/linux/b.../ABI/testing/configfs-usb-gadget-mass-storage
Other functions can also be checked from files starting with configfs-usb-XXX here:
https://github.com/torvalds/linux/tree/master/Documentation/ABI/testing
Well, for some reason the Downloads tab isn't working, so I haven't been able to upload the build yet. Hopefully that sorts itself out soon.
EDIT: John uploaded it, so let the flashing begin!
One thing to note is that you CAN fastboot boot TWRP on this device, so if you don't want to overwrite stock recovery, you don't have to
Great job guys!
Fantastic
Great thnx guys!
--
wysłane z HTC10 Carbon-Gray, przy użyciu Tapatalka VIP v6.5.6 (883)
Very nice guys! Thanks!
Sent from my unknown using XDA Labs
Thanks @Captain_Throwback, @nkk71 and @topjohnwu for all your work. So everything is set as soon as my U11 arrives.
Sent from my htc_pmeuhl using XDA Labs
Thanks guys, and CPT Throwback.
What will we do without TWRP.
Can someone test this build for me? If it works, we'll be able to add official TWRP support for the U11 .
EDIT: Build doesn't boot. We're investigating why.
I'd get onto it for you but for some reason I can't log into HTCdev to unlock my bootloader to flash any recovery. It just says my user/pass doesn't work. Tried resetting password, tried making a new account, no luck! Anyone else having any issues? Keen to flash TWRP
Tried to install but got Error message in fastboot:
C:\adb>fastboot flash recovery twrp.img
target reported max download size of 536870912 bytes
sending 'recovery' (34796 KB)...
OKAY [ 0.766s]
writing 'recovery'...
FAILED (remote: Not allowed on PRODUCTION device)
finished. total time: 0.766s
C:\adb>
Sirbo_239 said:
Tried to install but got Error message in fastboot:
Click to expand...
Click to collapse
Boot into download mode first.
Kisakuku said:
Boot into download mode first.
Click to expand...
Click to collapse
with every new devices the same mistake since the m7
Sirbo_239 said:
with every new devices the same mistake since the m7
Click to expand...
Click to collapse
you made an account just to comment that
avatar_ro said:
you made an account just to comment that
Click to expand...
Click to collapse
Probably made an account to ask his first question. Got an answer and thanked reply. That's what XDA is for. You not reading previous posts, is what XDA is becoming
TWRP support for the U11 is now official! I'm listed as the maintainer, although I still don't have the device. Hopefully nothing breaks anytime soon, lol...
P.S. I removed the unofficial version from the Downloads tab as it should no longer be needed - the official is newer and better
Team Win Recovery Project 3.x, or twrp3 for short, is a custom recovery built with ease of use and customization in mind. Its a fully touch driven user interface no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.
CHANGELOG for 3.3.0-0:
-Merge AOSP 9.0 r3 (Dees_Troy)
-Use ANDROID_ROOT variable instead of hard coding to /system (CaptainThrowback)
-Decrypt FBE on 9.0 and metadata decrypt (Dees_Troy)
-vold decrypt updates (CaptainThrowback and nijel8)
-Support vibration on LED class devices (notsyncing)
-Metadata decrypt support for Pixel 3 (Dees_Troy)
-Support rotating the display via build flag (vladimiroltean)
-Reboot to EDL mode button (mauronofrio)
-Support MTP on FFS devices (bigbiff)
-Update FDE decrypt to support keymaster 3 and 4 (Dees_Troy)
-Detect mkfs.f2fs version to properly format on f2fs partitions (Dees_Troy)
-Allow TWRP to use md5 and sha256 checksums for zip installs (bigbiff)
-TWRP can use /data/cache/recovery and /persist/cache/recovery on AB devices with no cache partition (bigbiff)
-Switch part of advanced menus in TWRP to use a listbox of options (Dees_Troy)
-Use magiskboot to allow repacking boot images for installing TWRP (Dees_Troy with thanks to topjohnwu of course)
CHANGELOG for 3.2.0-0:
-Allow restoring adb backups in the TWRP GUI (bigbiff)
-Fix gzip backup error in adb backups (bigbiff)
-Fix a bug in TWRP's backup routines that occasionally corrupted backup files (nkk71)
-Better support for installing Android 8.0 based zips due to legacy props (nkk71)
-Support vold decrypt with keymaster 3.0 in 8.0 firmwares (nkk71)
-Decrypt of synthetic passwords for Pixel 2 (Dees_Troy)
-Support newer ext4 FBE policies for backup and restore in libtar (Dees_Troy)
-v2 fstab support (Dees_Troy)
-Bring TWRP forward to android 8.0 AOSP base (Dees_Troy)
-Various other minor bugfixes and tweaks
CHANGELOG for 3.1.1-0:
-Backups will now include adopted storage keys (Dees_Troy)
-Fixed an adb restore issue (bigbiff)
-Fixed rebooting when no OS is present (Dees_Troy)
-Fixed line wrapping in the GUI terminal (_that)
-Updated TWRP source code to AOSP 7.1.2 (Dees_Troy)
CHANGELOG for 3.1.0-0:
-vold decrypt on a few select HTC devices, TWRP will now attempt to use the system partition's vold and vdc binaries and libraries to decrypt the data partition (nkk71 and CaptainThrowback)
-adb backup to stream a backup directly to or from your PC, see documentation here: https://github.com/omnirom/android_bootable_recovery/commit/ce8f83c48d200106ff61ad530c863b15c16949d9 (bigbiff)
-tweak MTP startup routines (mdmower)
-support new Android 7.x xattrs for backup and restore to fix loss of data after a restore (Dees_Troy)
-support POSIX file capabilities backup and restore to fix VoLTE on HTC devices and possibly other issues (Dees_Troy)
-better indicate to users that internal storage is not backed up (Dees_Troy)
-improve automatic determination of TW_THEME (mdmower)
-minimal getcap and setcap support (_that)
-try mounting both ext4 and f2fs during decrypt (jcadduono and Dees_Troy)
-shut off backlight with power key (mdmower)
-timeout during FDE decrypt (Dees_Troy and nkk71)
-support for FBE decrypt and backing up and restoring FBE policies (Dees_Troy)
-boot slot support (Dees_Troy)
-TWRP app install prompt during reboot (Dees_Troy)
-support for AB OTA zips (Dees_Troy)
-support new Android 7.x log command (Dees_Troy)
-update recovery sources to AOSP 7.1 (Dees_Troy)
-numerous bugfixes and improvements by too many people to mention
CHANGELOG for 3.0.2-0:
-Fix a bug with the input box that affected masked inputs (passwords). This fixes decrypt of full device encryption on devices that support decrypt. This bug also impacts encrypted backups. Users are highly encouraged to stop using 3.0.1 if you use encrypted backups or if you need decrypt of data in TWRP.
-Add Greek translation to some builds.
CHANGELOG for 3.0.1-0:
-support new CM 13.0 pattern encryption (sultanqasim)
-fix slow flashing issue due to modprobe (present on only some devices) (#twrp)
-libtar updated to latest upstream and fixes (jcadduono)
-fixes for loading custom themes (_that)
-TWRP will now detect and install TWRP themes automatically through the normal zip install process (Dees_Troy)
-translation updates - added Italian, Czech and Polish and significant updates to Dutch
-progress bar improvements - progress bar updates during image flashing and better tracks progress during file system backups (tar) (Dees_Troy)
-fix input box text display (Dees_Troy)
-reboot option after zip install complete (bigbiff)
-other mostly invisible bug fixes and improvements
CHANGELOG for 3.0.0-0:
-Completely new theme - Much more modern and much nicer looking (by z31s1g)
-True Terminal Emulator - Includes arrow keys, tab and tab completion, etc. (by _that)
-Language translation - It won’t be perfect and especially some languages that require large font files like Chinese & Japanese won’t be availble on most devices. Also some languages may only be partially translated at this time. Feel free to submit more translations to OmniROM’s Gerrit. (mostly by Dees_Troy)
-Flashing of sparse images - On select devices you will be able to flash some parts of factory images via the TWRP GUI (by HashBang173)
-Adopted storage support for select devices - TWRP can now decrypt adopted storage partitions from Marshmallow
-Reworked graphics to bring us more up to date with AOSP - includes support for adf and drm graphics (by Dees_Troy)
-SuperSU prompt will no longer display if a Marshmallow ROM is installed
-Update exfat, exfat fuse, dosfstools (by mdmower)
-Update AOSP base to 6.0
-A huge laundry list of other minor fixes and tweaks
WARNING: This is our first release in a long time. We have a lot of new and somewhat aggressive changes in this new release. The changes to the graphics back-end may cause some devices to not boot up properly or have other display-related issues. If you are not in a position to reflash an older build of TWRP, then wait until you are or at least wait until others have tried the new version for your specific device. You don’t want to end up with a non-working recovery and have to wait several hours or days to get to a computer to be able to fix it.
Notes for themers: In addition to the udpated theme, we have introduced a theme version variable to the TWRP theme system. If the theme version does not match the version that TWRP expects, TWRP will reject the custom theme and load its stock theme. This change will ensure that people who update TWRP without updating their theme will still have a workable recovery. We have removed libjpeg support. The stock theme was only using a jpeg image for the splash / curtain. This change means that any custom themes will no longer be able to use jpeg images. It also means that tools used to repack recovery images with a different curtain / splash will need to be updated to use the new method.
Version number notes: For a while we’ve been using a 4 digit version number and reserved the 4th digit for device-specific updates. For instance, we find and fix a device-specific issue like decryption of data on Nexus 5, we would release that as a 2.8.7.1. After a while, some people would start asking where 2.8.7.1 was for other devices. So, going forward we have decided to change the numbering scheme to 3.0.0-2, etc. Our hope is that this version numbering scheme will more clearly identify that the 4th digit does not indicate a version change for the code base.
We need your help! The bulk of TWRP work is done by 3 people on a volunteer basis. We have pushed most of our device files to our github and we have a gerrit instance. If you have the ability, please help us maintain our official devices and/or add your device to our official device list. Thanks in advance!
DOWNLOAD:
1) Install the TWRP app from the Play Store or grab the img from our website
2) Open the app, agree to the terms, and enable root access
3) Select TWRP Flash
4) Search for your device and select the version you wish to download
5) Once the download is complete, select the file (it's usually in your downloads folder) and then Flash Recovery
OR:
Most devices can be updated quickly and easily within TWRP if you already have version 2.8.4.0 or higher installed
1) Download the latest version from our website on your device
2) Reboot to TWRP
3) Hit Install and tap the "Images..." button in the lower right
4) Browse to the location of the TWRP image on your device and select it
5) Select recovery from the partition list and swipe to flash
BUGS:
If you have found a bug, please consider posting it to our github issues log. It's pretty much impossible for us to keep up with the more than 40 threads that we have for the devices that we "directly" support. If you have a significant problem that cannot be answered in this thread, your best bet is to PM me directly, contact us via our website, or find us in our IRC channel below. If you see someone that's struggling, feel free to point it out to us. We need your help to help us keep track of all of our devices! Thanks!
SUPPORT:
Live support is available via #twrp on Freenode with your IRC client or just click this link.
XDA:DevDB Information
TWRP for Moto G5 Plus, ROM for the Moto G5 Plus
Contributors
GtrCraft, vache
Source Code: https://github.com/TeamWin
ROM OS Version: 7.x Nougat
ROM Kernel: Linux 3.x
ROM Firmware Required: Unlocked Bootloader
Based On: TWRP
Version Information
Status: Stable
Created 2017-11-07
Last Updated 2019-04-16
Decrypting
If you have just used fastboot oem unlock and used stock, You will be prompted for a password. Hit cancel and got to Wipe -> Format Data. Type yes at the prompt and hit the "enter" key. Hit the home button at the bottom and Reboot -> Recovery. Formatting /data will cause you to lose all userdata, apps, pictures, downloads, etc.
Reserved
Official TWRP! Thanks Nick! You rock!
Can I install new image through existing twrp? Thanks for the effort @GtrCraft
aaronrw said:
Can I install new image through existing twrp? Thanks for the effort @GtrCraft
Click to expand...
Click to collapse
Yup
My man! Thanks Nick
Thanks for TWRP is a usefull tool
Great @GtrCraft !
We have now official TWRP support!
And this custom recovery has a working Decryption and ADB (plus OEM, etc.)
However, here some issues that I detected:
1) The boot time, with an unencypted data partition is slow (more than 60sec.). This is normal?
2) Custom UI themes doesn't work! I Tested from the Materialised thread:
https://forum.xda-developers.com/android/themes/theme-twrp-materialised-dark-light-play-t2915584
But they doesn't work. You know why?
Thank you for your support!
---------- Post added at 06:40 PM ---------- Previous post was at 06:14 PM ----------
manos78 said:
Great @GtrCraft !
2) Custom UI themes doesn't work! I Tested from the Materialised thread:
https://forum.xda-developers.com/android/themes/theme-twrp-materialised-dark-light-play-t2915584
But they doesn't work. You know why?
Click to expand...
Click to collapse
Hi,
For UI Themes you need to use the new version. Download a test version from here:
https://androidfilehost.com/?w=files&flid=194040
(https://forum.xda-developers.com/an...light-play-t2915584/post72814769#post72814769)
Regards!
Hi,
on my phone TWRP it's not able to decrypt data partition. First got timeout, after a password request.
Now I'm on stock (only rooted with Magisk, no other changes) but before I tested some other ROM and version of TWRP.
Any though?
Try to format /data Partition.
Hi Gtrcraft,
Is this package different than the unofficial one regarding encryption made from a Oreo ROM? Should I try this one or try to get more debug info from the unofficial one?
Thanks!
now we have this official twrp for moto g5 plus, is the rooting process the same as the usual one, i.e. 1. unlock bootloader 2. flash this official twrp 3. in twrp, flash latest supersu.? I saw in some thread, it needs to flash a modified kernel? is that still needed?
xdataibai said:
now we have this official twrp for moto g5 plus, is the rooting process the same as the usual one, i.e. 1. unlock bootloader 2. flash this official twrp 3. in twrp, flash latest supersu.? I saw in some thread, it needs to flash a modified kernel? is that still needed?
Click to expand...
Click to collapse
Its the same. Just flash the SU Zip in the TWRP. But i recommend to use Magisk instead of Super SU.
any reason why magisk is preferred? and how to do magisk root since I didn't do it before
xdataibai said:
any reason why magisk is preferred? and how to do magisk root since I didn't do it before
Click to expand...
Click to collapse
You have to flash the Magisk Zip file and install the Magisk Manager apk after that. With Magisk you can pass the SaftyNet and you can hide your root access from the Apps you want.
I dont know if its allowed to post links but here is the official xda thread:
https://forum.xda-developers.com/apps/magisk/official-magisk-v7-universal-systemless-t3473445
thanks a lot
---------- Post added at 02:01 AM ---------- Previous post was at 01:58 AM ----------
this official twrp can be booted using fastboot boot without flash, right?
xdataibai said:
thanks a lot
---------- Post added at 02:01 AM ---------- Previous post was at 01:58 AM ----------
this official twrp can be booted using fastboot boot without flash, right?
Click to expand...
Click to collapse
yes -> fastboot boot twrp.img
matttbe said:
Hi Gtrcraft,
Is this package different than the unofficial one regarding encryption made from a Oreo ROM? Should I try this one or try to get more debug info from the unofficial one?
Thanks!
Click to expand...
Click to collapse
Yes, but I gave up on encryption for now.
GtrCraft said:
Yes, but I gave up on encryption for now.
Click to expand...
Click to collapse
does this official twrp after flash needs wifi-patch and/or camera-patch? thanks