Related
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
{
"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"
}
Introduction
MultiROM is one-of-a-kind multi-boot mod for Nexus 7. It can boot any Android ROM as well as other systems like Ubuntu Touch, once they are ported to that device. Besides booting from device's internal memory, MultiROM can boot from USB drive connected to the device via OTG cable. The main part of MultiROM is a boot manager, which appears every time your device starts and lets you choose ROM to boot. You can see how it looks on the left image below and in gallery. ROMs are installed and managed via modified TWRP recovery. You can use standard ZIP files to install secondary Android ROMs and MultiROM even has its own installer system, which can be used to ship other Linux-based systems.
Features:
* Multiboot any number of Android ROMs
* Restore nandroid backup as secondary ROM
* Boot from USB drive attached via OTG cable
You can also watch a video which shows it in action.
Warning!
It _is_ dangerous. This whole thing is basically one giant hack - none of these systems are made with multibooting in mind. It is no longer messing with data partition or boot sector, but it is possible that something goes wrong and you will have to flash factory images again. Make backups. Always.
Installation
1. Via MultiROM Manager app
This is the easiest way to install everything MultiROM needs. Install the app and select MultiROM and recovery on the Install/Update card. If the Status card says Kernel: doesn't have kexec-hardboot patch! in red letters, you have to install also patched kernel - either select one on the Install/Update card or get some 3rd-party kernel here on XDA. You are chosing kernel for your primary ROM, not any of your (future) secondary ROMs, so select the version accordingly.
Press "Install" on the Install/Update card to start the installation.
2.Manual installation
Firstly, there are videos on youtube. If you want, just search for "MultiROM installation" on youtube and watch those, big thanks to all who made them. There is also an awesome article on Linux Journal.
MultiROM has 3 parts you need to install:
MultiROM (multirom-YYYYMMDD-vXX-flo.zip) - download the ZIP file from second post and flash it in recovery.
Modified recovery (TWRP_multirom_flo_YYYYMMDD.img) - download the IMG file from second post and use fastboot or Flashify app to flash it.
Patched kernel - You can use either one of the stock ones in second post or third-party kernels which include the patch, you can see list in the second post. Download the ZIP file and flash it in recovery.
You current rom will not be erased by the installation.
Download links are in the second post.
MultiROM is compatible with both flo and deb.
Adding ROMs
1. Android
Go to recovery, select Advanced -> MultiROM -> Add ROM. Select the ROM's zip file and confirm. As for the space, clean installation of stock 4.2 after first boot (with dalvik cache generated and connected to google account) takes 676mb of space.
2. FirefoxOS
Download FirefoxOS ZIP package from this thread. The installation is completely the same as Android ROMs.
3. Ubuntu Touch
Use the MultiROM Manager app to install Ubuntu Touch.
Ubuntu Touch is in development - MultiROM will have to be updated to keep up with future changes in Ubuntu, so there's a good chance this method stops working after a while and I'll have to fix it.
Using USB drive
During installation, recovery lets you select install location. Plug in the USB drive, wait a while and press "refresh" so that it shows partitions on the USB drive. You just select the location (extX, NTFS and FAT32 partitions are supported) and proceed with the installation.
If you wanna use other than default FAT32 partition, just format it in PC. If you don't know how/don't know where to find out how, you probably should not try installing MultiROM.
If you are installing to NTFS or FAT32 partition, recovery asks you to set image size for all the partitions - this cannot be easilly changed afterward, so choose carefully. FAT32 is limited to maximum of 4095MB per image - it is limitation of the filesystem, I can do nothing about that.
Installation to USB drives takes a bit longer, because the flash drive is (usually) slower and it needs to create the images, so installation of Ubuntu to 4Gb image on my pretty fast USB drive takes about 20 minutes.
Enumerating USB drive can take a while in MultiROM menu, so when you press the "USB" button in MultiROM, wait a while (max. 30-45s) until it searches the USB drive. It does it by itself, no need to press something, just wait.
Updating/changing ROMs
1. Primary ROM (Internal)
Flash ROM's ZIP file as usual, do factory reset if needed (it won't erase secondary ROMs)
Go to Advanced -> MultiROM in recovery and do Inject curr. boot sector.
2. Secondary Android ROMs
If you want to change the ROM, delete it and add new one. To update ROM, follow these steps:
Go to Advanced -> MultiROM -> List ROMs and select the ROM you want to update.
Select "Flash ZIP" and flash ROM's ZIP file.
Crowdfunding campaign
A crowdfunding campaign to get test devices took place from July 28th to August 27th 2013. Thanks all contributors, the campaign was successful, raising a total of $562. This enabled a purchase of flo and resulted in MultiROM being ported to said device and the code became much more portable.
These people pledged $10 or more and got perk "The Thread" or "The Code":
flash5000
Bibi
jbaumert
viper08
marius15
x.nicow.x
Ben Hagen
magedragon25
JonathanWardRogers
theperson88
Sean Smith
sabinblitz
If you supported this campaign, either by pledging money or promoting it, I thank you, doesn't matter if you're on the list or not. This wouldn't be possible without you.
Donations to the MulitROM founder Tasssadar
I'd be glad if you could spare a few bucks. You can use either paypal or Bitcoins, my address is 172RccLB2ffSnJyYwjYbUD3Nx4QX3R8Ris
Thanks to all donors, it is much appreciated
XDA:DevDB Information
[TOOL][UNOFFICIAL] MultiROM [SM-T53X], Tool/Utility for the Samsung Galaxy Tab 4
Contributors
sub77
Source Code: http://github.com/Tasssadar/multirom/
Version Information
Status: Stable
Created 2015-05-28
Last Updated 2016-04-11
Reserved
Download
MultiROM Manager PlayStore
MultiROM T330/T331/T335 Download
MultiROM T530/T531/T535 Download
Installation
Flash MultiROM TWRP
INSTALL MultiROM.zip
ADD ROMS - Advanced -> MultiROM -> Add Roms
Download
Changelog
Code:
MultiROM v33
=====================
* Updates for Android 6.0 compatibility
MultiROM v32a
=====================
* Fix pattern encryption password incorrectly reporting "invalid password"
when the pattern overlaps itself
MultiROM v32
=====================
* Minor GUI improvements
* Support for device encryption (with Android-based secondary ROMs only). See
FAQ in this device's XDA thread for more info.
* Bunch of ROM compatibility fixes
MultiROM v31
=====================
* Add support for "multimount" fstab (fixes CM12)
* Support interlaced PNGs (fixes wrongly rendered icons in boot manager, e.g.
the L icon)
MultiROM v30
=====================
* Fix logs generated by the "emergency reboot" screen, they were incomplete
MultiROM v29
=====================
* Implement "autoboot if no key pressed" mode - the boot manager won't show up
unless you hold down a volume down button during boot. Must be enabled in
recovery.
* Android 5.0 preview related tweaks
MultiROM v28
=====================
* Fix freezes in the boot manager
* You can now swipe between the tabs in the boot manager
* Minor UI adjustments
* SailfishOS support (for certain devices)
MultiROM v27
=====================
* Redesign the boot manager GUI. Looks much better now.
* Fix separate radio.img not working on Android L preview ROMs
* Fix issues with unaccessible /sdcard on Android L preview. Do NOT run
restorecon manually on /data/media, ever - it breaks MultiROM!
* Workaround bug which caused franco.Kernel on N5 to break secondary ROM's
boot
* Update Ubuntu Touch init scripts
* Use power+volume down (you have to press power first!) to save screenshots.
They are now PNG images and are saved to /sdcard/Pictures/Screenshots/.
MultiROM v26
=====================
* Fix boot into secondary ROM from the MultiROM Manager app broken in v25
MultiROM v25
=====================
* Add support for the Android L preview
* Misc F2FS fixes
MultiROM v24
=====================
* Add F2FS support
* Show icons in ROM list, configurable via MultiROM Manager app
* Improve compatibility with different ROMs and kernels when booting a ROM
from the Android app
MultiROM v23
=====================
* Fix compatibility with Ubuntu Touch rev 290 and higher. If your Ubuntu
installation won't boot, go to recovery and use "Re-patch init" option in
Advanced -> MultiROM -> List ROMs -> *ubuntu*.
MultiROM v22b
=====================
* Mount the real /data partition to folder /android/realdata in Ubuntu Touch,
enabling sharing data between Android and Ubuntu Touch. See
[url]http://bit.ly/ut_sharing[/url] for more info.
MultiROM v22a
=====================
* Fix hardware keys not working for some users
* Update Ubuntu Touch patches
MultiROM v22
=====================
* Fix linux-type ROMs (Ubuntu Touch) failing to boot for some users
MultiROM v21
=====================
* Revert "mount /system in secondary ROMs read-only" - if done so, SuperSU
breaks the boot.
MultiROM v20
=====================
* Support booting ROMs directly from Manager App
* Fix FCs on CyanogenMod-based ROMs
* Fix support for USB drives formatted with NTFS, broken in v17
* Mount /system in secondary ROMs read-only
MultiROM v19
=====================
* Implement "boot the last ROM" auto-boot type
MultiROM v18
=====================
* Fix silent-but-unpleasant crash with exFAT
MultiROM v17
=====================
* Changes to support MultiROM Manager app
* Add support for exFAT
MultiROM v16a
=====================
* Fix kexec not working on some kernels
MultiROM v16
=====================
* Add overscroll bounceback effect to rom list
* Add support for controling via physical keys
* Bunch of under-the-hood changes for mako and m7 support
MultiROM v15
=====================
* Fix cmdline handling for kexec, doesn't change anything for grouper, just to
have the same version for both flo and grouper (no need to update)
MultiROM v14
=====================
* Find and change correct fstab (fixes freezes on boot)
* Mount /realdata without nosuid (fixes no root on 4.1 and 4.2 ROMs)
* Use libbootimg to work with boot.img files
MultiROM v13
=====================
* Partial rewrite of the codebase to make it compatible with multiple devices
* Add run-on-boot scripts (for advanced users who know linux and bash, see
[url]https://github.com/Tasssadar/multirom/wiki/run-on-boot-scripts[/url])
* Use libbootimg to work with boot.img files
MultiROM v12a
=====================
* Detect kexec-hardboot patch in kernel even if /proc/config.gz is not
available
MultiROM v12
=====================
* Implement screen rotation and 1280x800 theme
* Fix auto-boot option
* Fix listview's fast scrollbar behavior
MultiROM v11
=====================
* Option to hide Internal ROM
* Option to rename Internal ROM
* Support for Ubuntu Touch
MultiROM v10
=====================
* Non-error message boxes aren't red now
* Add possibility to switch between several color themes, go to misc tab and
try it out
* New MultiROM installer format
* Add "discard" option to /data mounting
* Add battery status to misc tab (bottom right corner)
* Add brightness setting
* Implement ADB
MultiROM v9
=====================
* Make it compatible with LZ4 ramdisk compression
* Improve touch-related code. You should not get anymore phantom button
presses nor listview freezes
MultiROM v8
=====================
* Fix kexec-hardboot with new bootloader v4.18
* Search for already present USB drives on start
* Centre "MultiROM" title in main UI
MultiROM v7
=====================
* Correctly boot Ubuntu after recent kernel update. Read this post:
[url]http://forum.xda-developers.com/showpost.php?p=37389003&postcount=1031[/url]
* Remove specific support for Ubuntu - it is now handled as "generic linux"
(with rom_info.txt file). Nothing should change for the users
* Sort ROMs alphabetically
* Add "progress dots" to USB screen, so that user knows that it is doing
something
* Recovery was also updated, don't forget to flash it
MultiROM v6
=====================
* Properly check for kexec-hardboot patch in kernel
* Internal" is always first in ROM list now, as originally intended
* Much more logging for kexec-related stuff
* Print last 50 lines of klog to "Emergency reboot" screen
MultiROM v5-2
=====================
* Fix ubuntu
* MultiROM still says it's v5. I did not change the version number because it
is literally one character fix.
MultiROM v5
=====================
* Support for ROMs with configuration file. This makes porting
Ubuntu/plasma/webos/anything much more easier. See the third post.
* MultiROM will no longer let you boot Ubuntu ROM if it's name contains
spaces, because the boot would fail.
MultiROM v4
=====================
* Fix GPS on ROMs other than Internal
* Minor UI changes
MultiROM v3
=====================
* Switch to Ubuntu 13.04. Version 12.10 is no longer supported
* Switch to kexec-hardboot based multi-booting. Read the first post.
* Add support for booting from USB drive
* MediaScanner no longer scans /sdcard/multirom, which means no useless
battery drain
* Recovery was updated, make sure to flash it, too.
MultiROM v2
=====================
* Add support for Ubuntu on 3G version of Nexus 7
* Fix some issues with 4.2 ROMs
* Recovery was updated, make sure to flash it, too.
MultiROM v1
=====================
* Initial version
Recoveries:
Code:
10.2.2016
=====================
* Fix ZIP selector being set to wrong storage after flashing ZIP to a
secondary ROM
9.2.2016
=====================
* Fix confusing "Unable to mount..." error message
* Fix flashing of some kernels into secondary ROMs (e.g. Elite kernel)
6.2.2016
=====================
* Update to TWRP 3.0.0 (big thanks to nkk71 for doing most of the work)
* Use Material theme made by z31s1g - thanks!
* Fixes for 6.0 compatibility
* Fixes for SuperSU compatibility. Use BETA 2.67-20160203160253 (
http://bit.ly/m_su ) or newer!
30.6.2015
=====================
* Update to TWRP 2.8.7
* Add option to duplicate secondary ROM into "Swap ROMs" sectio
6.4.2015
=====================
* Fix support for SuperSU 2.47 Beta and higher
28.3.2015
=====================
* Update to TWRP 2.8.6
* Added "restorecon" option to secondary ROMs (in MultiROM -> List ROMs),
should be used to fix broken SELinux contexts, which can be causing
bootloops of secondary ROMs
* Bunch of ROM compatibility fixes - recovery now uses entirely new way to
inject ZIP installation files, which should be much more robust and reliable
* Big ZIPs (> 450MB) are no longer permanently modified when flashed as
secondary ROMs
* Fix sideloading of big ZIP files (> 450MB) into secondary ROMs
12.2.2015
=====================
* Update to TWRP 2.8.5
* Fix support for ROMs containing a supersu.zip in their installation file
(e.g. AICP)
15.1.2015
=====================
* Fix "Swap ROMs" feature after the last update
14.1.2015
=====================
* Update to TWRP 2.8.4
* Lots of ZIP compatibility fixes (e.g. for CM 12)
15.11.2014
=====================
* Support for ZIP files which are using the new 'block_image_update' command
(e.g. SimpleAOSP ROM)
29.10.2014
=====================
* Update to TWRP 2.8.1
21.10.2014
=====================
* Update autoboot settings for MultiROM v29
14.9.2014
=====================
* Update with changes from 2.8.0.1 upstream version: fix a bug that causes
weird graphics glitches and touch issues
11.9.2014
=====================
* Update to TWRP 2.8.0
* Fix adding ROMs from backup to a FAT32 USB drives
* Remove "share kernel with internal?" from "Add ROM" page, there is usually
no reason to use it anymore and it might be confusing to figure out what it
actually does. You can still get the same behavior by clicking "Remove
boot.img" on the List ROMs -> *rom name* page.
21.8.2014
=====================
* Remove Ubuntu Touch installation, installing via recovery is deprecated
* Add SailfishOS installation (only for supported devices)
8.8.2014
=====================
* Show secondary ROM's name in the title bar while executing it's script (e.g.
during OTA update)
* Update Ubuntu Touch updater
* Fix failure to swap ROMs if it contains filenames starting with a dot
* Fix add ROM from a backup producing unbootable ROM with Android L preview
* Add option to remove radio.img from secondary ROMs
* Add config options for MultiROM v27
5.6.2014
=====================
* Update to TWRP 2.7.1
* Hide misleading "Mount: Unable to find partition for path '/data'" message
which appeared during secondary ROM installation, it is not _actually_ an
error.
* Fix installation of non-Android systems to USB drives
4.6.2014
=====================
* Fix installation of bigger (>350MB) ZIPs as secondary ROMs
28.5.2014
=====================
* Fix installation of Ubuntu Desktop
12.5.2014
=====================
* Fix crash during settings loading, causing a bootloop with certain settings
11.5.2014
=====================
* Add F2FS support
* Add tool to switch F2FS<->ext4 to Advanced menu
* Fix problems with backups introduced by TWRP 2.7.0
8.3.2014
=====================
* Update to TWRP 2.7.0
* Remove "save" button from MultiROM settings page, it is saved automatically
now
* Some rendering optimizations, resulting in noticeably higher FPS in recovery
2.2.2013
=====================
* Fix GPG signature verification of Ubuntu Touch installation files
* Add support for mice connected via USB-OTG
* Fixup scrollbar behaviour in file list
24.12.2013
=====================
* Fix installing ROMs to USB drive
* Fix ZIP verification
* Support ZIP verification for secondary ROMs
15.12.2013
=====================
* Support OTA updates on secondary ROMs (tested with omni)
* Add "Swap ROMs" feature
* Implement "boot the last ROM" auto-boot type
* Many bugfixes
10.11.2013 - 01
=====================
* Fix some mounting issues when using ntfs or exFAT
10.11.2013
=====================
* Add exFAT support
* Support system-image based Ubuntu Touch installation
* Support Ubuntu Touch OTA updates, if Ubuntu is installed
via MultiROM manager app
22.10.2013
=====================
* Fix SuperSU reporting "failed" when flashed to secondary ROM
and completely borking the MultiROM part for any subsequent
uses of "Flash ZIP" or "Backup" option
16.10.2013
=====================
* Automatically inject boot sector with MultiROM
after ZIP installation or ADB sideload. Can be
turned off on "confirm flash" or "ADB sideload"
pages.
12.10.2013
=====================
* Support 'adb sideload' when adding ROMs
* Support rotation while using custom recovery theme
5.10.2013
=====================
* Don't display unsupported systems in "Add ROM" menu
23.9.2013
=====================
* Use libbootimg to work with boot.img files
22.9.2013
=====================
* Fix custom theme support
19.9.2013
=====================
* Partial rewrite of the codebase to make it compatible with multiple devices
* Add option to backup secondary ROMs
* Don't show "Flash ZIP" option for Ubuntu Touch ROM, it is not an Android
13.9.2013
=====================
* Update to TWRP 2.6.3.0
* Fix Ubuntu desktop image decompression
30.8.2013
=====================
* Update to TWRP 2.6.1.0
* Temporarily removed Timur's USB kernel, because it is not
4.3-compatible and I can't find sources
25.8.2013
=====================
* Clean rebuild of the recovery, I probably forgot to do that last time
and it wouldn't boot on some tilapia devices. No function changes.
21.8.2013
=====================
* Fix updater-script incompatibilities for some ROMs (e.g. PAC-Man)
27.7.2013
=====================
* Fix deletion of 4.3 ROMs with new SuperSU version installed
24.7.2013
=====================
* Don't ignore format("/system"); when flashing ZIPs to secondary ROMs,
this should fix updating secondary ROMs, particulary from 4.2 to 4.3
* Some fixes for 4.3 ROMs
* Add "remove boot.img" option to Android ROMs
21.7.2013
=====================
* Fix crash when installing Android ROM with kernel sharing enabled
20.7.2013
=====================
* Add rotation option to MultiROM settings
* Properly handle kernel flashing for Android ROMs:
you can now flash kernel via "Flash ZIP" option in "List ROMs" menu,
Aroma installer should work properly
* Fix ZIP flashing for 3G version of Nexus 7
9.7.2013
=====================
* Update to TWRP 2.6.0.0
* Support for screen rotation, Settings -> Screen
* Support for Ubuntu Touch
* Added options from MultiROM v11 to hide or rename Internal ROM
* MultiROM Settings menu was reorganized
* MultiROM options added to landscape layout
* Recovery now has Timur's USB host kernel
16.4.2013
=====================
* Fix "Add ROM" option not properly installing /data partition from
backup, if the backup is bigger than 1.5gb
* Make names of ROMs created from Android Backup prettier
9.4.2013
=====================
* Update to TWRP 2.5.0.0
4.4.2013
=====================
* Add support for MultiROM installer format
* Add new MultiROM settings (brightness, adb)
12.3.2013
=====================
* Updated to TWRP 2.4.4.0
* Add support for LZ4 & LZMA ramdisk compression
* Add some handy buttons to "flash complete" page,
thanks ikslawlok for suggestion
2.3.2013
=====================
* Fix freeze when selecting ROM in "Add ROM" option
in MultiROM menu
1.3.2013
=====================
* Updated to TWRP 2.4.3.0
27.2.2013
=====================
* Fix recovery kernel, so that you can boot linux ROMs even if
kernel in internal memory has older kexec-hardboot patch
* Enable brightness settings from TWRP
26.2.2013
=====================
* Updated to TWRP 2.4.2.0
* Add fast scrollbar to fileselectors
* Voldown to turn off screen ("sleep" mode)
22.2.2013
=====================
* Fix Ubuntu Touch installation with
combination of 4.2 as Internal ROM
21.2.2013
=====================
* Don't copy the ZIP to RAM while flashing ZIPs bigger
than 450 MB (currently only Ubuntu touch) in "Add ROM"
or "Flash ZIP" options. This prevents crash which would appear
due to low memory, but also means that these ZIP files
will be modified, which makes them unusable outside MultiROM
after flashing.
* Add Ubuntu touch support
2.2.2013
=====================
* Update to TWRP 2.4.1.0
* Don't reset ROMs location in "List ROMs" when going back
from managing ROM to the ROM list
* Fix recovery crash when there is too deep directory structure
in /data, thanks rifraf for debugging this
30.1.2013
=====================
* Update to TWRP 2.4.0.0
* Properly disable flash-kernel during Ubuntu installation.
This is important fix, because without it, Ubuntu
can rewrite your boot.img.
* Add option to wipe /data, /cache and dalvik-cache
of secondary Android ROMs
* Use gnutar binary compiled specifically for tegra 3,
means faster installation of Ubuntu
* Add "pressed" effect to all buttons, so that you know
if you pressed it or not.
* When installing Android ROM from ZIP which does not have
boot.img (armoma installer...), try to use current boot sector
instead of boot.img. The ROM may not boot, so you should always
add boot.img which is compatible to the ZIP file.
* Update to keep up with MultiROM v7
20.12.2012
=====================
* Fix "Add ROM" for backups in internal memory
------------------------------------------
* Update TWRP to 2.3.3.0
* Add option to Add ROM from backups
* Should be able to flash ZIP files for both grouper and tilapia
18.12.2012
=====================
* Update to support MultiROM v3
2.12.2012
=====================
* Fix "flash zip" option for ROMs without whitespace in name. I've
accidentally broke it in previous update, sorry :/
29.11.2012
=====================
* Fix "flash zip" option for ROMs with whitespace in name
25.11.2012
=====================
* Add Ubuntu support for Nexus 7 3G
24.11.2012
=====================
* Initial version
FAQ and other notes
Device encryption
Since v32, MultiROM supports encryption on this device (it has to be added for each device separately). It works only with Android-based secondary ROMs and the secondary ROMs don't know the device is encrypted, so they would allow you to encrypt the device again - do not do that. If you're using password, pin or pattern for the encryption, MultiROM will ask you for the password on boot. If you're booting the primary ROM, then Android will ask you for the password _again_ - unfortunately, there is no way for me to pass the "unencrypted" status to Android. If you're booting secondary ROM, MultiROM will ask you for the password again after the reboot - that's because I have to unencrypt the /data partition after the ROM's kernel is loaded.
I could omit the second password prompt when booting secondary ROM by temporarily saving the password somewhere, but that's obviously unsafe. So is using encryption with unlocked device though, so I might add this later.
About security
In order to make multi-booting possible, MultiROM has to sacrifice some security measures. Firstly, on secondary Android ROMs, /system is not mounted read-only. While there are other things preventing malicious software from messing with /system, this might potentialy make it easier for such software to attack that system.
What do the ROMs share?
All ROMs are separate, except /sdcard, which is shared between all Android ROMs.
How many ROMs can I have?/Where are the ROMs stored?
You can have as many ROMs as you can fit in your /sdcard. All the ROMs are stored in /sdcard/multirom/roms or on an USB drive. This folder is unaccessible in Android, to prevent mediascanner from scanning it. You can either in recovery, or obtain root and go to /data/media/0/multirom/roms.
Can I have different versions of Android working alongside
Yes. As long as you select "Don't shere kernel" when installing the secondary ROM, the systems are separated.
MultiROM recovery says it's 2.6.3.0. Why isn't it updated to 2.6.3.*highernumber*?
It is, it just shows wrong version.
The menu with all the ROMs won't show up during boot, how to fix it?
Either re-flash the MultiROM zip or go to recovery, Advanced -> MultiROM -> Inject curr. boot sector.
The reason for this is that something rewrote your boot.img, which happens for example when you flash a kernel. MultiROM's boot menu is part of the boot image, so it has to be added into it again.
Will you port MultiROM to device X?
No, probably. I won't port MultiROM to any device I don't own, because it is very difficult to provide the level of support I want to provide if I can't test things myself, as proven by the Nexus 4 port. I'd like to support more devices, but it is also very unsatisfying to work on code for device I don't have - I invest hours upon hours of time for free into it, and then I can't even see it running on the device, so...why..bother..?
I'll probably keep buying Nexus devices and keep porting MultiROM to those myself, but I can't buy every single device - I'm still a student, all my existing devices were bought using some kind of money grant or donations from users.
But, you can port it yourself, the wiki should give you at least some idea how to do that: https://github.com/Tasssadar/multirom/wiki/Porting-MultiROM
Curious!
Droidphilev said:
Curious!
Click to expand...
Click to collapse
just added cm11 patched kernel.
i tested with bliss as primary and cm11 and cm12.1 as secondary.
sub77 said:
just added cm11 patched kernel.
i tested with bliss as primary and cm11 and cm12.1 as secondary.
Click to expand...
Click to collapse
thanks! I guess i can only use cm11 as second rom since im still on the old bootloader
Droidphilev said:
thanks! I guess i can only use cm11 as second rom since im still on the old bootloader
Click to expand...
Click to collapse
why dont you install the official samsung stock lollipop 5.0.2, it will update your bootloader, cm11 will still be working.
sub77 said:
why dont you install the official samsung stock lollipop 5.0.2, it will update your bootloader, cm11 will still be working.
Click to expand...
Click to collapse
I will install it but first i would like to know how to downgrade.
I tried Multirom on CM11. It doesn't seem to work for me. Flashing a second rom to any of the 2 possible location doesn't work. It flashes but the rom is not in "list roms" and i can't find it anywhere on the device using a filemanager. it goes up in smoke.
Droidphilev said:
I will install it but first i would like to know how to downgrade.
I tried Multirom on CM11. It doesn't seem to work for me. Flashing a second rom to any of the 2 possible location doesn't work. It flashes but the rom is not in "list roms" and i can't find it anywhere on the device using a filemanager. it goes up in smoke.
Click to expand...
Click to collapse
it is because of o bug in the original twrp multirom theme. i just added a theme which shows the roms, but it works without, too.
the roms are copied to /data/media/0/multirom/roms
and if you flash the cm11 kexec kernel you have to flash the multirom.zip to inject multirom to the new kernel, otherwise you dont have the bootmenu.
the cm11 kernel need some more patches, multirom does not inject.
sub77 said:
it is because of o bug in the original twrp multirom theme. i just added a theme which shows the roms, but it works without, too.
the roms are copied to /data/media/0/multirom/roms
and if you flash the cm11 kexec kernel you have to flash the multirom.zip to inject multirom to the new kernel, otherwise you dont have the bootmenu.
Click to expand...
Click to collapse
Can't download that theme because of permission. I flashed:
1 recovery
2 kernel
3 multirom
Droidphilev said:
Can't download that theme because of permission. I flashed:
1 recovery
2 kernel
3 multirom
Click to expand...
Click to collapse
permission fixed.
you did it right, but the cm11 kernel still need some patches.
with blisspop 3.3 it boots cm11 and cm12.1 as secondary roms without problems.
sub77 said:
permission fixed.
you did it right, but the cm11 kernel still need some patches.
Click to expand...
Click to collapse
Ok, thanks. Will wait for it. About the location. There is "internal" and some kind of dev block thing. Is the second the external sd?
Droidphilev said:
Ok, thanks. Will wait for it. About the location. There is "internal" and some kind of dev block thing. Is the second the external sd?
Click to expand...
Click to collapse
there should be internel, external and usb.
sub77 said:
there should be internel, external and usb.
Click to expand...
Click to collapse
I have "internal" and "/dev/block/mmcblk1p1 (exfat)". When i choose "/dev/block/mmcblk1p1 (exfat)" it asks how big virtual partitions must be. WHen choosing "internal" it doesn't ask this.
Droidphilev said:
I have "internal" and "/dev/block/mmcblk1p1 (exfat)". When i choose "/dev/block/mmcblk1p1 (exfat)" it asks how big virtual partitions must be. WHen choosing "internal" it doesn't ask this.
Click to expand...
Click to collapse
it is because the external_sd dont have a ext4 fs, so multirom is using virtual partitions for the secondary roms.
just noticed that my cm11 build env. isnt proper, maybe moonbutt can build the kernel?
sub77 said:
it is because the external_sd dont have a ext4 fs, so multirom is using virtual partitions for the secondary roms.
just noticed that my cm11 build env. isnt proper, maybe moonbutt can build the kernel?
Click to expand...
Click to collapse
ok, will try "internal" (if theres ever a kernel coming for cm11)
Droidphilev said:
ok, will try "internal" (if theres ever a kernel coming for cm11)
Click to expand...
Click to collapse
there will be one soon, but i really prefer blisspop as primary, cm11 as secondary.
sub77 said:
there will be one soon, but i really prefer blisspop as primary, cm11 as secondary.
Click to expand...
Click to collapse
Ok, but what about bt_addr problem?
Droidphilev said:
Ok, but what about bt_addr problem?
Click to expand...
Click to collapse
will be fixed. with multirom you dont to backup/restore/install all the time. so i think efs keeps untouched.
sub77 said:
why dont you install the official samsung stock lollipop 5.0.2, it will update your bootloader, cm11 will still be working.
Click to expand...
Click to collapse
Did it aaaaand i'm ****ed. Device already for 15 minutes at white bootloader logo. Probably ready for the trash
{
"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"
}
Introduction
MultiROM is one-of-a-kind multi-boot mod for Htc One (m7). It can boot any Android ROM as well as other systems like Ubuntu Touch, Plasma Active, Bohdi Linux or WebOS port. Besides booting from device's internal memory, MultiROM can boot from USB drive connected to the device via OTG cable. The main part of MultiROM is a boot manager, which appears every time your device starts and lets you choose ROM to boot. You can see how it looks on the left image below and in gallery. ROMs are installed and managed via modified TWRP recovery. You can use standard ZIP files to install secondary Android ROMs, daily prebuilt image files to install Ubuntu Touch and MultiROM even has its own installer system, which can be used to ship other Linux-based systems.
Features:
* Multiboot any number of Android ROMs
* Restore nandroid backup as secondary ROM
* Use for example Ubuntu Touch or Desktop alongside with Android, without the need of device formatting
* Boot from USB drive attached via OTG cable
Warning!
It _is_ dangerous. This whole thing is basically one giant hack - none of these systems are made with multibooting in mind. It is messing with boot sector and data partition. It is no longer messing with data partition or boot sector, but it is possible that something goes wrong and you will have to flash factory images again. Make backups. Always.
Installation
1. Via MultiROM Manager app
This is the easiest way to install everything MultiROM needs. Install the app and select MultiROM and recovery on the Install/Update card. If the Status card says Kernel: doesn't have kexec-hardboot patch! in red letters, you have to install also patched kernel - either select one on the Install/Update card or get some 3rd-party kernel here on XDA. You are chosing kernel for your primary ROM, not any of your (future) secondary ROMs, so select the version accordingly.
Press "Install" on the Install/Update card to start the installation.
2. Manual installation
Note 1: Your device must not be encrypted (hint: if you don't know what it is, then it is not encrypted).
MultiROM has 3 parts you need to install:
MultiROM (multirom-YYYYMMDD-vXX-UNOFFICIAL-m7.zip) - download the ZIP file from second post and flash it in recovery.
Modified recovery (TWRP_multirom_m7_YYYYMMDD.img) - download the IMG file from second post and use
"fastboot flash recovery TWRP-multirom-20150619-v32e-UNOFFICIAL-m7univ.img"
Patched kernel - You can use either one of the stock ones in second post or third-party kernels which include the patch, you can see list in the second post. Download the ZIP file and flash it in recovery.
You current rom will not be erased by the installation.
Download links are in the second post.
Adding ROMs
1. Android
Go to recovery, select Advanced -> MultiROM -> Add ROM. Select the ROM's zip file and confirm. As for the space, clean installation of stock 4.2 after first boot (with dalvik cache generated and connected to google account) takes 676mb of space.
2. Ubuntu Touch this is NOT SUPPORTED AS MOST OTHER PORTS, IF YOU CARE TO ADD SUPPORT, PLEASE DO SO. THANK YOU
Use the MultiROM Manager app to install Ubuntu Touch.
Ubuntu Touch is in development - MultiROM will have to be updated to keep up with future changes in Ubuntu, so there's a good chance this method stops working after a while and I'll have to fix it.
Using USB drive
During installation, recovery lets you select install location. Plug in the USB drive, wait a while and press "refresh" so that it shows partitions on the USB drive. You just select the location (extX, NTFS and FAT32 partitions are supported) and proceed with the installation.
If you wanna use other than default FAT32 partition, just format it in PC. If you don't know how/don't know where to find out how, you probably should not try installing MultiROM.
If you are installing to NTFS or FAT32 partition, recovery asks you to set image size for all the partitions - this cannot be easilly changed afterward, so choose carefully. FAT32 is limited to maximum of 4095MB per image - it is limitation of the filesystem, I can do nothing about that.
Installation to USB drives takes a bit longer, because the flash drive is (usually) slower and it needs to create the images, so installation of Ubuntu to 4Gb image on my pretty fast USB drive takes about 20 minutes.
Enumerating USB drive can take a while in MultiROM menu, so when you press the "USB" button in MultiROM, wait a while (max. 30-45s) until it searches the USB drive. It does it by itself, no need to press something, just wait.
Updating/changing ROMs
1. Primary ROM (Internal)
Flash ROM's ZIP file as usual, do factory reset if needed (it won't erase secondary ROMs)
Go to Advanced -> MultiROM in recovery and do Inject curr. boot sector.
2. Secondary Android ROMs
If you want to change the ROM, delete it and add new one. To update ROM, follow these steps:
Go to Advanced -> MultiROM -> List ROMs and select the ROM you want to update.
Select "Flash ZIP" and flash ROM's ZIP file.
In some cases, you might need to flash patched kernel - get coresponding patched kernel version from second post and flash it to the secondary ROM sama way you flashed ROM's ZIP file.
Explanation of recovery menus
Main menu
- Add ROM - add ROM to boot
- List ROMs - list installed ROMs and manage them
- Inject boot.img file - When you download for example kernel, which is distrubuted as whole boot.img (eg. franco kernel), you have to use this option on it, otherwise you would lose MultiROM.
- Inject curr. boot sector - Use this option if MultiROM does not show up on boot, for example after kernel installation.
- Settings - well, settings.
Manage ROM
- Rename, delete - I believe these are obvious
- Flash ZIP (only Android ROMs) - flash ZIP to the ROM, for example gapps
- Add/replace boot.img - replaces boot.img used by this ROM, this is more like developer option.
- Re-patch init - this is available only for ubuntu. Use it when ubuntu cannot find root partition, ie. after apt-get upgrade which changed the init script.
Source code
MultiROM - https://github.com/Tasssadar/multirom (branch master)
............... - https://github.com/nkk71/multirom/tree/multirom-m7univ (m7-universal branch)
Modified TWRP - https://github.com/Tasssadar/Team-Win-Recovery-Project (branch master)
Device files - https://github.com/nkk71/twrp-htc-m7univ
XDA:DevDB Information
MultiROM, Tool/Utility for the HTC One (m7)
Contributors
nkk71, ljjehl, Captain_Throwback, Beta Testers: @mitchst2
Version Information
Status: Stable
Current Stable Version: 33testbuild
Stable Release Date: 2016-11-15
Created 2015-06-19
Last Updated 2016-11-15
Downloads
Current Test Builds
All Current Test Builds can be found on androidfilehost under MultiROM TEST BUILDS
You should be using these, not the ones mentioned below!
Definition of Test Builds: These are stable builds which I have and am using (and testing). They contain the most up to date fixes as mentioned in the changelog under <tba>.
The main reason I'm calling them "Test Builds", is because they have not gone through extensive testing as what I would usually do for a "release version". I think most people would call them release versions, but I tend to be more conservative.
.
The second reason, they get uploaded to AFH instead of directly here, is two fold:
I'm maintaining the M7, M8, M9 and HTC 10 MultiROM versions, and uploading to AFH is easier and faster for me.
Updating the actual threads and posts, is too time consuming every time I want to push an update.
Changelog and NO_KEXEC 4.1 Information can be found in the HTC 10 MultiROM thread.
1. Main downloads
MultiROM Main ZIP: multirom-20160409-v33b-UNOFFICIAL-m7univ.zip
MD5: 115172f7823ef1b93126aa845b7bd3fa
Modified recovery (based on TWRP): TWRP_3.0.2-0_multirom_m7univ_20160409-03.img
MD5: 2ba0c67c2ec1522b278a3996b5b4e814
MultiROM Manager Android app: Google Play or link to APK
You need to have kernel with kexec-hardboot patch only in your primary ROM!
Or you can use the no-kexec workaround v2
AndroidFileHost (mirror & old versions): https://www.androidfilehost.com/?w=files&flid=33970
2. third-party kernels with kexec-hardboot patch
You need a kernel that supports kexec-hardboot in the primary ROM.
Note that although MultiROM, it's recovery, and app are HTC One M7 universal build - they support M7_U/UL (GSM), M7_WLS (Sprint) and M7_WLV) - you need to make sure the kernel you choose/select is for your particular device!!
Some examples for M7_U/UL kernels:
ElementalX - http://forum.xda-developers.com/showthread.php?t=2249774
teaMSeven - http://forum.xda-developers.com/showthread.php?t=2307371
Make sure to flash the proper version for your Android and HTC Sense or GPE version.
More kernels here: http://forum.xda-developers.com/htc-one/#kernels
Make sure the the features of your kernel include "kexec-hardboot (for multirom support)"
3. Uninstaller
MultiROM uninstaller: multirom_uninstaller-20160409-v33b-UNOFFICIAL-m7univ.zip
Flash this ZIP file to remove MultiROM from your device. It will erase all secondary ROMs. If you don't want MultiROM menus in recovery, re-flash clean TWRP, but it is not needed - those menus don't do anything if MultiROM is not installed.
Changelog
Code:
MultiROM v33b
=====================
* Updates for Android 6.0 compatibility
* New kernel logging + history (needs to be enabled in TWRP)
* Added no kexec-hardboot workaround version 2
(needs to be enabled in TWRP)
MultiROM v32g
=====================
* F2FS support (requires kernel that supports F2FS)
[I]please check the FAQs about more info[/I]
* fix MTP not working in primary ROM when
adb is enabled in MultiROM recovery settings
[I] Note: I still recommend you keep this disabled
as different kernels react differently to the
workaround.[/I]
MultiROM v32f
=====================
* minor changes in updater script
MultiROM v32e
=====================
* initial port of v32 to HTC One M7
[B]* Note: encryption not supported at this time[/B]
[SIZE="1"][U]Previous chagelogs from Tasssadar and domicq[/U][/SIZE]
[I][U]Changelog from Tasssadar[/U][/I]
MultiROM v32a
=====================
* Fix pattern encryption password incorrectly reporting "invalid password"
when the pattern overlaps itself
MultiROM v32
=====================
* Minor GUI improvements
* Support for device encryption (with Android-based secondary ROMs only). See
FAQ in this device's XDA thread for more info.
* Bunch of ROM compatibility fixes
MultiROM v31
=====================
* Add support for "multimount" fstab (fixes CM12)
* Support interlaced PNGs (fixes wrongly rendered icons in boot manager, e.g.
the L icon)
MultiROM v30
=====================
* Fix logs generated by the "emergency reboot" screen, they were incomplete
[I][U]Previous changelog from domiq [URL="http://forum.xda-developers.com/htc-one/orig-development/mod-multirom-v28-redesigned-gui-t2880887"]here[/URL][/U][/I]
MultiROM v29
=====================
* Implement "autoboot if no key pressed" mode - the boot manager won't show up
unless you hold down a volume down button during boot. Must be enabled in
recovery.
* Sense-based ROMs (hopefully) with working storage
* Android 5.0 preview related tweaks
MultiROM v28b
=====================
* Now working Sense-based ROM as secondary.
MultiROM v28a
=====================
* Some edits in device files
MultiROM v28
=====================
* Fix freezes in the boot manager
* You can now swipe between the tabs in the boot manager
* Minor UI adjustments
* SailfishOS support (for certain devices)
MultiROM v27
=====================
* Redesign the boot manager GUI. Looks much better now.
* Fix separate radio.img not working on Android L preview ROMs
* Fix issues with unaccessible /sdcard on Android L preview. Do NOT run
restorecon manually on /data/media, ever - it breaks MultiROM!
* Workaround bug which caused franco.Kernel on N5 to break secondary ROM's
boot
* Update Ubuntu Touch init scripts
* Use power+volume down (you have to press power first!) to save screenshots.
They are now PNG images and are saved to /sdcard/Pictures/Screenshots/.
MultiROM v26
=====================
* Fix boot into secondary ROM from the MultiROM Manager app broken in v25
MultiROM v25
=====================
* Add support for the Android L preview
* Misc F2FS fixes
MultiROM v24
=====================
* Add F2FS support
* Show icons in ROM list, configurable via MultiROM Manager app
* Improve compatibility with different ROMs and kernels when booting a ROM
from the Android app
MultiROM v23
=====================
* Fix compatibility with Ubuntu Touch rev 290 and higher. If your Ubuntu
installation won't boot, go to recovery and use "Re-patch init" option in
Advanced -> MultiROM -> List ROMs -> *ubuntu*.
MultiROM v22b
=====================
* Mount the real /data partition to folder /android/realdata in Ubuntu Touch,
enabling sharing data between Android and Ubuntu Touch. See
[url]http://bit.ly/ut_sharing[/url] for more info.
MultiROM v22a
=====================
* Fix hardware keys not working for some users
* Update Ubuntu Touch patches
MultiROM v22
=====================
* Fix linux-type ROMs (Ubuntu Touch) failing to boot for some users
MultiROM v21
=====================
* Revert "mount /system in secondary ROMs read-only" - if done so, SuperSU
breaks the boot.
MultiROM v20
=====================
* Support booting ROMs directly from Manager App
* Fix FCs on CyanogenMod-based ROMs
* Fix support for USB drives formatted with NTFS, broken in v17
* Mount /system in secondary ROMs read-only
MultiROM v19
=====================
* Implement "boot the last ROM" auto-boot type
MultiROM v18
=====================
* Fix silent-but-unpleasant crash with exFAT
MultiROM v17
=====================
* Changes to support MultiROM Manager app
* Add support for exFAT
MultiROM v16a
=====================
* Fix kexec not working on some kernels
MultiROM v16
=====================
* Add overscroll bounceback effect to rom list
* Add support for controling via physical keys
* Bunch of under-the-hood changes for mako and m7 support
MultiROM v15
=====================
* Fix cmdline handling for kexec, doesn't change anything for grouper, just to
have the same version for both flo and grouper (no need to update)
MultiROM v14
=====================
* Find and change correct fstab (fixes freezes on boot)
* Mount /realdata without nosuid (fixes no root on 4.1 and 4.2 ROMs)
* Use libbootimg to work with boot.img files
MultiROM v13
=====================
* Partial rewrite of the codebase to make it compatible with multiple devices
* Add run-on-boot scripts (for advanced users who know linux and bash, see
[url]https://github.com/Tasssadar/multirom/wiki/run-on-boot-scripts[/url])
* Use libbootimg to work with boot.img files
MultiROM v12a
=====================
* Detect kexec-hardboot patch in kernel even if /proc/config.gz is not
available
MultiROM v12
=====================
* Implement screen rotation and 1280x800 theme
* Fix auto-boot option
* Fix listview's fast scrollbar behavior
MultiROM v11
=====================
* Option to hide Internal ROM
* Option to rename Internal ROM
* Support for Ubuntu Touch
MultiROM v10
=====================
* Non-error message boxes aren't red now
* Add possibility to switch between several color themes, go to misc tab and
try it out
* New MultiROM installer format
* Add "discard" option to /data mounting
* Add battery status to misc tab (bottom right corner)
* Add brightness setting
* Implement ADB
MultiROM v9
=====================
* Make it compatible with LZ4 ramdisk compression
* Improve touch-related code. You should not get anymore phantom button
presses nor listview freezes
MultiROM v8
=====================
* Fix kexec-hardboot with new bootloader v4.18
* Search for already present USB drives on start
* Centre "MultiROM" title in main UI
MultiROM v7
=====================
* Correctly boot Ubuntu after recent kernel update. Read this post:
[url]http://forum.xda-developers.com/showpost.php?p=37389003&postcount=1031[/url]
* Remove specific support for Ubuntu - it is now handled as "generic linux"
(with rom_info.txt file). Nothing should change for the users
* Sort ROMs alphabetically
* Add "progress dots" to USB screen, so that user knows that it is doing
something
* Recovery was also updated, don't forget to flash it
MultiROM v6
=====================
* Properly check for kexec-hardboot patch in kernel
* Internal" is always first in ROM list now, as originally intended
* Much more logging for kexec-related stuff
* Print last 50 lines of klog to "Emergency reboot" screen
MultiROM v5-2
=====================
* Fix ubuntu
* MultiROM still says it's v5. I did not change the version number because it
is literally one character fix.
MultiROM v5
=====================
* Support for ROMs with configuration file. This makes porting
Ubuntu/plasma/webos/anything much more easier. See the third post.
* MultiROM will no longer let you boot Ubuntu ROM if it's name contains
spaces, because the boot would fail.
MultiROM v4
=====================
* Fix GPS on ROMs other than Internal
* Minor UI changes
MultiROM v3
=====================
* Switch to Ubuntu 13.04. Version 12.10 is no longer supported
* Switch to kexec-hardboot based multi-booting. Read the first post.
* Add support for booting from USB drive
* MediaScanner no longer scans /sdcard/multirom, which means no useless
battery drain
* Recovery was updated, make sure to flash it, too.
MultiROM v2
=====================
* Add support for Ubuntu on 3G version of Nexus 7
* Fix some issues with 4.2 ROMs
* Recovery was updated, make sure to flash it, too.
MultiROM v1
=====================
* Initial version
Recoveries:
Code:
09.04.2016 (2016-04-09)
=====================
* Rebase to TWRP 3.0.2
* Use new stock theme made by z31s1g - thanks!!!
* New partition selector
* Fix ZIP selector being set to wrong storage after flashing ZIP to a
secondary ROM
* Fixes for 6.0 compatibility
* Fixes for SuperSU compatibility. Use BETA 2.67-20160203160253 (
[URL="http://bit.ly/m_su"]http://bit.ly/m_su[/URL] ) or newer!
* Fixes for several installer scripts using non-conventional methods
when installing systemless root
* Fix inject multriom checkmark not showing on startup
* New option to enable kernel logging + history for multirom
* New advanced options for no kexec-hardboot workaround version 2
[I](yes the Info page is missing)[/I]
* Add progress tracking in multirom 'restore' install
16.11.2015
=====================
* fixed MTP upon entering recovery
* fixed USB-OTG not working properly
* add support for installer-scripts with sha1 checks
(such as CM13 and other Marshmallow builds)
to be flashed directly to secondary
[I]please check the FAQs about more info[/I]
06.08.2015
=====================
* fixed Restorecon command in MultiROM
04.07.2015
=====================
* updated to TWRP 2.8.7
27.06.2015
=====================
* minor change in fstab to show data partition
towards the lower part in the wipe menu
23.06.2015
=====================
* fix "off-mode" charging
19.06.2015
=====================
* new HTC One M7 release
[SIZE="1"][U]Previous chagelogs from Tasssadar and domicq[/U][/SIZE]
[I][U]Changelog from Tasssadar[/U][/I]
1.6.2015
=====================
* Fix installation of CM-based ZIP files
* Add "duplicate ROM" option to "Swap ROMs" page
* Running "restorecon -R /data" while in recovery will no longer break
secondary ROMs
6.4.2015
=====================
* Fix support for SuperSU 2.47 Beta and higher
28.3.2015
=====================
* Update to TWRP 2.8.6
* Added "restorecon" option to secondary ROMs (in MultiROM -> List ROMs),
should be used to fix broken SELinux contexts, which can be causing
bootloops of secondary ROMs
* Bunch of ROM compatibility fixes - recovery now uses entirely new way to
inject ZIP installation files, which should be much more robust and reliable
* Big ZIPs (> 450MB) are no longer permanently modified when flashed as
secondary ROMs
* Fix sideloading of big ZIP files (> 450MB) into secondary ROMs
12.2.2015
=====================
* Update to TWRP 2.8.5
* Fix support for ROMs containing a supersu.zip in their installation file
(e.g. AICP)
15.1.2015
=====================
* Fix "Swap ROMs" feature after the last update
14.1.2015
=====================
* Update to TWRP 2.8.4
* Lots of ZIP compatibility fixes (e.g. for CM 12)
15.11.2014
=====================
* Support for ZIP files which are using the new 'block_image_update' command
(e.g. SimpleAOSP ROM)
29.10.2014
=====================
* Update to TWRP 2.8.1
[I][U]Previous changelog from domicq [URL="http://forum.xda-developers.com/htc-one/orig-development/mod-multirom-v28-redesigned-gui-t2880887"]here[/URL][/U][/I]
28.10.2014
=====================
*Update autoboot settings for MultiROM v29
[STRIKE]26.9.2014
=====================
* In app finally as MultiROM-Recovery.[/STRIKE]
22.9.2014
=====================
* Working USB-OTG
18.9.2014
=====================
* Initial version
FAQ and other notes
HTC One M7 - Peculiarities / Bugs
You need to be on hboot 1.57 or higher for MultiROM menu to show up at boot time... otherwise it will always boot to primary
.
A few notes about F2FS support: yes the TWRP recovery and MultiROM now do support F2FS, however for that to work "properly" you need a kernel that supports both F2FS and kexec-hardboot in the primary slot and secondary slots
So let's say you formatted your data partition to f2fs, a kernel in primary such as ElementalX (which doesn't support f2fs) won't work (neither in primary nor secondary) and wouldn't even show the boot menu; and a kernel (such as included in CM12.1) that does support f2fs would show the boot menu, but has no kexec-hardboot support, so you won't be able to boot any secondary ROM.
Also, even if you have a kernel that supports both f2fs and kexec-hardboot, remember that it will break any ROM/kernel that don't support f2fs.
Basically, I recommend sticking with ext4
.
A few notes about enabled adb in MultiROM boot menu: later, in the meantime, I still recommend having that disabled.
.
A few notes about the sha1 checks in the installer-script: also later.
.
Something not working, or you need help debugging
Please provide the following information:
a detailed explanation of the problem
.
the recovery.log (found in /tmp/recovery.log or by copying it to the sdcard and then copying it to PC)
.
the link to the thread and name of file (+ which version) you are having problems with
.
due to the large size of some of these ROMs, I may not have time to download and test them, so please also upload the updater-script (found in ROM.ZIP under /META-INF/com/google/android/)
Device encryption
Since v32, MultiROM supports encryption on this device (it has to be added for each device separately). It works only with Android-based secondary ROMs and the secondary ROMs don't know the device is encrypted, so they would allow you to encrypt the device again - do not do that. If you're using password, pin or pattern for the encryption, MultiROM will ask you for the password on boot. If you're booting the primary ROM, then Android will ask you for the password _again_ - unfortunately, there is no way for me to pass the "unencrypted" status to Android. If you're booting secondary ROM, MultiROM will ask you for the password again after the reboot - that's because I have to unencrypt the /data partition after the ROM's kernel is loaded.
I could omit the second password prompt when booting secondary ROM by temporarily saving the password somewhere, but that's obviously unsafe. So is using encryption with unlocked device though, so I might add this later.About security
In order to make multi-booting possible, MultiROM has to sacrifice some security measures. Firstly, on secondary Android ROMs, /system is not mounted read-only. While there are other things preventing malicious software from messing with /system, this might potentialy make it easier for such software to attack that system.
What do the ROMs share?
All ROMs are separate, except /sdcard, which is shared between all Android ROMs.
How many ROMs can I have?/Where are the ROMs stored?
You can have as many ROMs as you can fit in your /sdcard. All the ROMs are stored in /sdcard/multirom/roms or on an USB drive. This folder is unaccessible in Android, to prevent mediascanner from scanning it. You can either in recovery, or obtain root and go to /data/media/0/multirom/roms.
The menu with all the ROMs won't show up during boot, how to fix it?
Either re-flash the MultiROM zip or go to recovery, Advanced -> MultiROM -> Inject curr. boot sector.
The reason for this is that something rewrote your boot.img, which happens for example when you flash a kernel. MultiROM's boot menu is part of the boot image, so it has to be added into it again.
Wreat work
V32 Working in my m7
Enviado desde mi One mediante Tapatalk
davidroid1 said:
Wreat work
V32 Working in my m7
Enviado desde mi One mediante Tapatalk
Click to expand...
Click to collapse
well the previous (dirty) version (that's why i needed to recompile to "e" so as not to cause confusion) has been out for a while, but I guess a new thread does help :laugh:
enjoy, and lemme know if all works well
.... in theory this should also work for Verizon and Sprint users, but I cant test that, since I only have GSM
and for me, the bugs are (always have been)
1- USB OTG doesnt work
2- MTP has to be toggled (on->off->on) for it to work
Thanks @oblikas then @domicq and now @nkk71
Without multirom I'd have been bored of the m7 by now. Thanks guys.
mitchst2
Got this error message?
If so flash the new recovery first then try again.
Now waiting for a new Rom I haven't flashed to test. Existing roms all grand.
mitchst2
mitchst2 said:
Got this error message?
If so flash the new recovery first then try again.
View attachment 3370368
mitchst2
Click to expand...
Click to collapse
hmm, lemme try again....it's a minor issue, just hope last build didnt mess any checks..... back in 10....
nkk71 said:
hmm, lemme try again....it's a minor issue, just hope last build didnt mess any checks..... back in 10....
Click to expand...
Click to collapse
Minor yes. Just flash new recovery first.
mitchst2
mitchst2 said:
Got this error message?
If so flash the new recovery first then try again.
View attachment 3370368
Now waiting for a new Rom I haven't flashed to test. Existing roms all grand.
mitchst2
Click to expand...
Click to collapse
okay, done... no issues
Code:
C:\ADB3>md5sum TWRP-multirom-20150619-v32e-UNOFFICIAL-m7univ.img
2b9ab7d04268ad13b05cd1a2a4d7a02e
C:\ADB3>fastboot flash recovery TWRP-multirom-20150619-v32e-UNOFFICIAL-m7univ.img
target reported max download size of 1514139648 bytes
sending 'recovery' (15470 KB)...
OKAY [ 1.931s]
writing 'recovery'...
OKAY [ 1.373s]
finished. total time: 3.304s
C:\ADB3>adb devices
List of devices attached
HT34xxxxxxxx recovery
C:\ADB3>md5sum multirom-20150619-v32e-UNOFFICIAL-m7univ.zip
486a2e6a395283a03a603a336a93b03d
C:\ADB3>adb push multirom-20150619-v32e-UNOFFICIAL-m7univ.zip /sdcard/0NKK/
2420 KB/s (3925974 bytes in 1.584s)
......
Code:
Screenshot was saved to /data/media/0/Pictures/Screenshots/Screenshot_2015-06-20-01-02-50.png
C:\ADB3>adb pull /data/media/0/Pictures/Screenshots/Screenshot_2015-06-20-01-02-50.png
2419 KB/s (146185 bytes in 0.059s)
nkk71 said:
okay, done... no issues
Code:
C:\ADB3>md5sum TWRP-multirom-20150619-v32e-UNOFFICIAL-m7univ.img
2b9ab7d04268ad13b05cd1a2a4d7a02e
C:\ADB3>fastboot flash recovery TWRP-multirom-20150619-v32e-UNOFFICIAL-m7univ.img
target reported max download size of 1514139648 bytes
sending 'recovery' (15470 KB)...
OKAY [ 1.931s]
writing 'recovery'...
OKAY [ 1.373s]
finished. total time: 3.304s
C:\ADB3>adb devices
List of devices attached
HT34xxxxxxxx recovery
C:\ADB3>md5sum multirom-20150619-v32e-UNOFFICIAL-m7univ.zip
486a2e6a395283a03a603a336a93b03d
C:\ADB3>adb push multirom-20150619-v32e-UNOFFICIAL-m7univ.zip /sdcard/0NKK/
2420 KB/s (3925974 bytes in 1.584s)
......
Code:
Screenshot was saved to /data/media/0/Pictures/Screenshots/Screenshot_2015-06-20-01-02-50.png
C:\ADB3>adb pull /data/media/0/Pictures/Screenshots/Screenshot_2015-06-20-01-02-50.png
2419 KB/s (146185 bytes in 0.059s)
Click to expand...
Click to collapse
What does all that mean?
Just flash the new recovery first as I said?
mitchst2
mitchst2 said:
What does all that mean?
Just flash the new recovery first as I said?
mitchst2
Click to expand...
Click to collapse
yes, sorry, i'll check into it more thoroughly tomorrow (1:25am for me) and it's just the installer script making sure what you are flashing is meant for your device
mitchst2 said:
What does all that mean?
Just flash the new recovery first as I said?
mitchst2
Click to expand...
Click to collapse
oh, you just wanna give me a hard time for opening a new thread..... i knew it :crying:
nkk71 said:
oh, you just wanna give me a hard time for opening a new thread..... i knew it :crying:
Click to expand...
Click to collapse
Not at all.
Hopefully you'll get some new users to multirom. Old threads got very confusing for newcomers I think.
Just wanted others to know the solution before reporting it doesn't work.
Also to be clear we don't need the contexts fix anymore? I.e. Just flash Rom, gapps and boot.
mitchst2
mitchst2 said:
Not at all.
Hopefully you'll get some new users to multirom. Old threads got very confusing for newcomers I think.
Just wanted others to know the solution before reporting it doesn't work.
Also to be clear we don't need the contexts fix anymore? I.e. Just flash Rom, gapps and boot.
mitchst2
Click to expand...
Click to collapse
nope,
file context fix no longer needed, was added here
layout_version fix (pull request) and (dirty) by-name support for the M7 was added here
only thing i'm aware of it that you'll need at least firmware 6.xx.xxx.x /hboot 1.57or higher
(from domiq's thread)
that will go into post 3, when i'm awake-ish
@mitchst2 can you please tell me which roms are currently supported as you are using it... ?????
Black_Eyes said:
@mitchst2 can you please tell me which roms are currently supported as you are using it... ?????
Click to expand...
Click to collapse
Them all. Sense, GPE, AOSP, MIUI.......
mitchst2
Tested OTG out pretty extensively. Although it wil not mount under the mounts menu, it is at least partially mounting it. I can get it to show up in add rom list. I can also get the multirom folder to be created on the usb disk. Install starts, but fails the instant that it attempts to create the data.img. However, after failure, it will show up in rom list on the usb stick. So, at least it has write ability to the usb. Just a bug somewhere now preventing a complete install.
ADDL: The new update gets a bit further. Just getting an error mounging mmcblk0p33 during the data.img deployment.
never tryed it before ...this multirom
so i have quistions - maybe stupid quistion
- what do i need to erase before installing this,or can i leave the stock rom on it -and flash the multirom zip and recovery multi and flash then the second rom
-does it mess with the partitions
-where does it store the second rom (sdcard or data/media/)
-does the multirom zip erase somthing like system or sdcard
-how can i switch roms ,or does a menu come up at boot
really stupid quistions but i need to know
Sebby said:
never tryed it before ...this multirom
so i have quistions - maybe stupid quistion
- what do i need to erase before installing this,or can i leave the stock rom on it -and flash the multirom zip and recovery multi and flash then the second rom
-does it mess with the partitions
-where does it store the second rom (sdcard or data/media/)
-does the multirom zip erase somthing like system or sdcard
-how can i switch roms ,or does a menu come up at boot
really stupid quistions but i need to know
Click to expand...
Click to collapse
I will try answer,
You can leave stock but need kernel support multirom,
As i know multirom not erase system or sdcard
For switch rom can download app multirom via google play
3 answer ,
Im use multirom
1 xenonhd, gpe 5.1, nosp, carbon all work normal :good:
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
TWRP 3.2.1-0
Whats new:
* 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)
For 7.0:
https://www.androidfilehost.com/?fid=11410963190603872883
For 6.0:
https://www.androidfilehost.com/?fid=11410963190603872882
How install this? I can flash this with androxide flashtools by fastboot mode (cable+button)?
Miror not found plz update links