{
"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. 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
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 2 parts you need to install + one optional (deprecated) :
MultiROM (multirom-YYYYMMDD-v33x-device.zip) - download the ZIP file from second post and flash it in recovery.
Modified recovery (multirom-YYYYMMDD-recovery-fota-device.zip) - download the ZIP file from second post and use a recovery
to flash it into the FOTA partition (see TWRP 3 for more informations).
UNNECESSARY: Patched kernel - You can use those kernels on most Marshmallow based primary ROMs to add kexec boot support.
Kexec support is no longer required thanks to the no-kexec workaround by nkk71.
For convenience reasons, I enabled the workaround by default if kexec is not found.
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.
Recommended values are (not needed for ext4 storages) :
Cache : Keep default value
Data : Minimum 4000 for proper usage
System : 1500 to 2000 should be enough for most installs
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 Android to 4Gb image on a pretty fast USB drive takes about 20 minutes maximum.
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.
OPTIONAL: Reflash the kernel patcher to add kexec support
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.
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/AdrianDC/multirom_core (branch master)
Modified TWRP - https://github.com/multirom-dev/Team-Win-Recovery-Project (branch master)
Device Tree - https://github.com/XperiaMultiROM/android_device_sony_dora (branch master)
Kernel - https://github.com/AdrianDC/kernel-sony-copyleft (branch master)
TWRP sources - https://github.com/AdrianDC/twrp_development_sony/commits/device_sony_dora (branch device_sony_dora)
MultiROM available for Dora also thanks to :- [MENTION]Tasssadar[/MENTION]
- [MENTION]nkk71[/MENTION]
- The XperiaMultiROM team
XDA:DevDB Information
MultiROM for Xperia X Performance, Tool/Utility for the Sony Xperia X Performance
Contributors
Adrian DC
Source Code: http://forum.xda-developers.com/google-nexus-5/orig-development/mod-multirom-v24-t2571011
Version Information
Status: No Longer Updated
Created 2016-10-08
Last Updated 2019-08-06
Reserved
Downloads
1. Main downloads
MultiROM for Xperia X Performance (Dora): https://mega.nz/#F!Ckd2HbwI!NFv3bh7J87lHTi3cujnV_g
Downloads mirror : https://basketbuild.com/devs/AdrianDC
MultiROM: multirom-2017MMDD-v33x-device.zip
Modified recovery (based on TWRP 3): multirom-2017MMDD-recovery-fota-device.zip
Regular TWRP with my same sources: https://mega.nz/#F!DtsERIzb!OFINTFpTQ6CF85alkcIpgA
2. Uninstaller
MultiROM uninstaller: multirom-2017MMDD-uninstaller-device.zip
Flash this ZIP file to remove MultiROM from your device. It will erase all secondary ROMs.
Otherwise, reflash a ROM or a boot.img without injection (or the v33x zip) to remove MultiROM boot from your device.
Then delete the "multirom..." folders from internal & external storages.
If you don't want MultiROM menus in recovery, re-flash a normal TWRP, but it is not needed,
those menus don't do anything if MultiROM is not installed.
How to install for the first time
Flash the 2 MultiROM zips as explained
Reboot to the FOTA Recovery (Volume +)
In MultiROM TWRP, Add a ROM, set everything properly
Wait for the ROM to be installed (can take a while)
In MultiROM screen, choose the ROM location
For the concerned ROM, "Flash zip" for wished zips (GApps, SuperSU, Addons...)
Reboot the phone
How to install only the recovery
(Option 1) Flash the ...-recovery-fota-device.zip from a recovery
(Option 2) Extract the img from ...-recovery-fota-device.zip,
then use 'fastboot flash recovery twrp.img' to install to FOTA partition
Reboot the phone
Migrate Stock ROM to internal or MicroSD
Reboot to the FOTA Recovery (on boot or with power keys)
Ensure you have already installed Sony Stock Patcher or a custom bootimage
Perform a ROM Backup (at least system, data, cache, boot)
Add a ROM, select the previously made backup
Wait for the ROM to be installed (can take a while)
Reboot the phone
Update Stock ROM on internal or MicroSD
Backup internal data / storage
Upgrade to last FTF official release you want
Reboot to the FOTA Recovery (on boot or with power keys)
Install the Recovery image you want to use
Install Sony Stock Patcher or a custom bootimage
Perform a ROM Backup (at least system, cache, boot)
Add a ROM, select the previously made backup
Wait for the ROM to be installed (can take a while)
Inside *Storage*/multirom-*/, move the data folder
from the old installation to the new one
Rename and delete the ROMs as you wish
Reboot the phone
Changelog
Code:
MultiROM v33x - TWRP 3.1.1 - 07/06/2017
=========================================
* New implementation to handle external boot
on Ext4 / F2FS MicroSD or USB Drive in order
to allow access to the external storage for media,
through the storage 'external_multirom' path
MultiROM v33x - TWRP 3.1.1 - 24/05/2017
======================================
* Fix touchscreen init race condition on a specific variant
MultiROM v33x - TWRP 3.1.1 - 22/05/2017
======================================
* Include all recent improvements from TWRP 3.1.1
* Touchscreen init improvement to match Stock .223
* Fix for SDCardFS full support of the internal storage
* Known common issue : encrypted boot for now
MultiROM v33x - TWRP 3.1.0 - 17/03/2017
======================================
* Include all recent improvements from TWRP 3.1.0
* Proper TWRP support of Stock Nougat encryption
* Known common issue : encrypted boot for now
* Fix USB handling for Sony Stock ROMs
MultiROM v33x - TWRP 3.0.3 - 05/03/2017
======================================
* Built in a clean new tree of Android 7.1.1 (replaces 6.0)
* Multiple fixes to support 7.1 changes
* Include all recent improvements from TWRP 3.0.3
* Fix the 7.1 busybox cpio corruption, needed for MultiROM
MultiROM v33x - TWRP 3.0.2 - 22/12/2016
=========================================
* Kernel updated to Stock Nougat, with proper
> and minimal patching for custom changes
* Touchscreen handling of Stock Nougat
* Encryption handling of Stock Nougat
MultiROM v33x - TWRP 3.0.2 - 18/12/2016
=========================================
* Minor improvements of MultiROM
* Added support for Sony Stock ELF (64 bits) bootimages
* libbootimg changes from my recent updates
MultiROM v33x - TWRP 3.0.2 - 08/10/2016
=========================================
* Initial dora public release
Recent ROMs tested so far :
Code:
Stock SONY 7.1 : OK (Primary & Second)
Stock SONY 7.0 : OK (Primary & Second)
Stock SONY 6.0 : OK (Primary & Second)
AOSP 7.1.1 : OK (Primary & Second, Work in Progress)
CyanogenMod 14.1 : OK (Primary & Second, Work in Progress)
Other ROMs : To confirm & report here
Reserved
FAQ and other notes
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.
Next, MultiROM doesn't work with /data encryption. Not many people who use custom ROMs also use encryption anyway, so that isn't much of a concern.
What do the ROMs share?
All ROMs are separate, except /sdcard, which is shared between all Android ROMs.
Why is my USB connection to computer not detected ?
Uncheck the "Enable ADB" option in MultiROM Settings.
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./external SD card. 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.
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.
Something wrong happened, I lost something or it's really laggy
You have been warned about making backups & the fact this is more experimental than stable.
You alone will be responsible for loosing data or having an usable ROM when you really needed it.
Everyone in this thread will try to help you, but we can't do backups of your data ourselves.
Thanks for your understanding, remember to read the previous comments and please try to help each other.
Current local manifest of the MultiROM build
Code:
<!-- https://github.com/AdrianDC/multirom_development_sony -->
Informations : My 2017 releases of MultiROM and of TWRP include full support for Nougat encryption inside TWRP.
For MultiROM boot UI, Nougat encryption is not yet fully working, it's a common issue and I'm looking into it.
MultiROM 20170317 update : Includes my fix for USB handling inside Sony Stock ROMs,
due to stock files permissions losses : https://github.com/AdrianDC/multirom_core/commit/f42b7c5c7c07471882193c2e1e6d53f17dc71236
Would this work on xperia x too?
Gesendet von meinem F5121 mit Tapatalk
Can I use it with Xperia XZ?
86chan said:
Can I use it with Xperia XZ?
Click to expand...
Click to collapse
I have MultiROM "almost" ready for XZ but I'll release it once I first check something.
However you'll find my TWRP for XZ in the Sony Stock Patcher thread.
AdrianDC said:
I have MultiROM "almost" ready for XZ but I'll release it once I first check something.
However you'll find my TWRP for XZ in the Sony Stock Patcher thread.
Click to expand...
Click to collapse
Thank you for answering my question.
MultiROM 20170522: Release based on TWRP 3.1.1, including changes to match 7.1.1 touchscreen init.
Regular TWRP 20170521: TWRP 3.1.1 release, including changes to match 7.1.1 touchscreen init.
Note about MultiROM and SDCardFS devices
Here's a general note about MultiROM that involves issues with SDCardFS usage:
More and more devices OEMs are starting to use SDCardFS enabled by default on their releases.
Depending on the device and installations, we started finding random behaviours of MultiROM secondary ROMs.
Basically the issue is that a booted secondary ROM using SDCardFS would prevent access to the "Internal Storage",
mostly visible by an "unmounted" internal storage and mostly all Google applications failing in sequence.
A more in-depth search shows that running an "ls -l" on the internal storage paths
fail directly with an "-EXDEV" > "cross-device linkage" error, which means the original and target devices don't match.
The SDCardFS kernel driver is actually returning this -EXDEV failure when it detects such an issue.
Going a step further means comparing which partitions are mounted where, through "mount".
We can confirm SDCardFS is being used by the ROM through the following outputs :
/data/media on /mnt/runtime/default/emulated type sdcardfs (rw,nosuid,nodev,noexec,noatime,uid=1023,gid=1023,multiuser,allow_utime_grp)
/data/media on /storage/emulated type sdcardfs (rw,nosuid,nodev,noexec,noatime,uid=1023,gid=1023,multiuser,allow_utime_grp)
/data/media on /mnt/runtime/read/emulated type sdcardfs (rw,nosuid,nodev,noexec,noatime,uid=1023,gid=1023,multiuser,allow_utime_grp)
/data/media on /mnt/runtime/write/emulated type sdcardfs (rw,nosuid,nodev,noexec,noatime,uid=1023,gid=1023,multiuser,allow_utime_grp)
However, it also means that /data/media is "mounted" as an sdcardfs file system in the regular internal storage paths.
And the interesting part concerning MultiROM is that we actually mount /data/media on our own to match our paths.
On a "working" secondary installation, we have this type of mount :
/dev/block/mmcblk0p54 on /data/media type ext4 (rw,seclabel,relatime,noauto_da_alloc,errors=panic,data=ordered)
However on a "failing with -EXDEV" secondary installation, we have this type of mount :
/dev/block/mmcblk0p54 on /data/media/0 type ext4 (rw,seclabel,relatime,noauto_da_alloc,errors=panic,data=ordered)
As we can see, the internal partition is being mounted on /data/media/0, which is not an issue by itself,
but the fact the /data/media is later mounted as internal storage means that we're creating a cross-device linkage:
/data/media is owned by the /data partition, running from our external storage with MultiROM, and its sub-path ./0 is on the Internal,
whereas the working situation is that /data/media is directly owned by its original partition hence no cross-device linkage.
Now the question would be : Why the mounted path differs ?
The "multirom_create_media_link" function handles the internal storage mounting (https://github.com/multirom-dev/multirom/commit/c9bd12186baa6911d46138c6c77379c6c3eaa767)
A proper output of this function in the kernel logs is "multirom: Making media dir: api 25, media_new 1, /realdata/media to /data/media"
and a faulty one for SDCardFS to work is "Making media dir: api 25, media_new 0, /realdata/media to /data/media/0"
This was never an issue since 4+ years because the paths and loop would be invisibly used,
and the missing path created through the recursive mkdir hence path resolution was never an issue.
On the other hand, SDCardFS prevents this linkage therefore introducing the issue.
An initial fix can be found here, tested on the Xperia X Performance with and without an internal storage matching the issue.
https://github.com/multirom-dev/multirom/pull/11/commits/81295cd6971317d955cb0c78b41d147b891a601b
The change is also valid for non-sdcardfs devices, tested on Sony 8960 for example, since the path is used the same way.
I wrote this in public here in case other MultiROM devs or new maintainers would face such an issue,
and would not (yet) use our "multirom-dev" sources for updated MultiROM projects.
New special release of MultiROM from 20170607.
Implements something I wished to fix for at least 10 months on MultiROM:
External storage (MicroSD or USB Drive) using Ext4 or F2FS file systems are
now finally accessible from the Android userspace once booted from them,
by means of a special new storage folder called 'external_multirom' that serves
as a bridge between the external storage and Android.
You can therefore once again use the external MicroSD with Ext4 and store music, data, ...,
without Android blocking access to it with "Corrupted storage" notifications.
Why use Ext4 / F2FS MicroSD in the first place ? With MultiROM, these allow us
to install secondary ROMs directly on the MicroSD without setting space sizes / limits,
therefore directly on the drive instead of independent disk images as done for vFAT / FAT32.
The storage space is unlimited / shared between all installs and are faster to create / run / use.
About SDCardFS : A similar issue as the one reported and fixed in the previous post happens here,
the 'external_storage' is also a cross-device linkage and SDCardFS will fail on purpose to give access to the path.
Disabling SDCardFS (through the build.prop property) allows to use the ROM as usual while also accessing the path.
All technical details about the issue and the implementation can be seen here : https://github.com/AdrianDC/multirom_core/commit/0acfa4c53429a7fcf7c2c573b857f2ae69ca5b5a
Is this likely to work for the Xperia XA (F3111)? What would need doing if not?
Could you try to port this for Xperia X/X Compact Variants?
Building guide isn't clear for me, as try to Port MultiROM to S650 Devices
...
Dezqo said:
MultiRom doesn't seem to show up on boot even if I "inject current boot sector".
It is working though as the recovery works fine and I already installed a secondary rom.
I can't boot into it though.
Click to expand...
Click to collapse
See the third post. You can't keep your device encrypted if you want the bootimage to access data. Therefore a factory reset to erase the data partition (including internal data, careful) is needed.
...
Dezqo said:
Thanks for answering, no idea how I didn't notice that
Since there is no way to "decrypt" without wiping, is this completely impossible or just not yet integrated?
It's my day to day phone and even though I make nandroid backups I can't to wipe right now.
Click to expand...
Click to collapse
An easy way would be backup, save internal files to a computer, factory reset, restore data.
Factory reset is important, not just a "Wipe" because the encryption sectors would be kept with a wipe.
...
Dezqo said:
Thanks. Just to be clear, if I make a backup from TWRP to my sdcard and then factory reset, will the device then be decrypted or are any more steps necessary?
Sorry for all the questions but it seems not many people have actually tried MultiRom on this device.
Click to expand...
Click to collapse
Be specific. The term sdcard mostly designates internal storage.
Therefore you should backup to the "MicroSD" + backup all your relevant data from internal to MicroSD or PC.
Once factory reset, data partition is formatted, hence you start clean.
TWRP recommends to reboot to recovery at this stage, which you should do as advised.
Related
Introduction:
---------------------
Team Win Recovery Project 2.X, or twrp2 for short, is a custom recovery built with ease of use and customization in mind. It’s 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.
Phone look:
---------------------
{
"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"
}
Notice:
---------------------
The attached recovery images were compiled from TWRP's open source.
They were only tested on a European version of the HTC-HD2 powered by cLK bootloader.
The performance on devices powered by MAGLDR bootloader should be considered untested.
Disclaimer:
---------------------
As usual, use at your own risk. TeamWin, arif-ali or kokotas is not responsible for anything bad that may occur from using twrp2.
Nobody appointed me to compile TWRP for HD2. I'm not TeamWin's member. It just happened...
If anyone else is willing to do it and probably do it better I will be glad to step aside,
Key Features:
---------------------
* Ability to save custom recovery settings
* Touchscreen driven with real buttons and drag-to-scroll
* XML-based GUI that allows full customization of the layout – true theming!
* Settings are saved to the sdcard and persist through reboots
* Ability to choose which partitions to back up and which to restore
* Ability to choose to compress backups – now with pigz (multi-core processor support for faster compression times)
* Basic file manager (copy, move, delete, and chmod any file)
* OpenRecoveryScript scripting engine
* On-screen keyboard in recovery! -- supports long press, backspace repeat, and swipe left deletes everything left of the cursor
* ADB sideload functionality from AOSP
* Pseudo-terminal emulator
* Ability to backup large partitions (size>4GB) by splitting the backup archive.
Mainline TWRP Change-Log:
---------------------
Follow up the changes in mainline project at TeamWin's page : http://www.teamw.in/project/twrp2.
HD2's TWRP Change-Log:
---------------------
Initial TWRP versions
List of changes
TWRP v2.4.0.0.r1 @ 2013.01.17
Compiled version based on mainline code (v2.4.0.0Alpha).
Fix boot partition's filesystem for MAGLDR's backup&restore to work.
Fix getting fs-type from a partition created with a label.
Fix the name of the backup sub-folder(htcleo instead of 0s).
TWRP v2.4.4.0 @ 2013.04.03
Compiled version based on mainline code (v2.4.4.0).
Fix boot partition's filesystem for MAGLDR's backup&restore to work.
Fix the name of the backup sub-folder(htcleo instead of 0s).
TWRP v2.5.0.0 @ 2013.04.10
Compiled version based on mainline code (v2.5.0.0).
NOTE: Compiled unmodified source code refused to boot! So I had to change a little bit more this time, just to get it to boot up.
Fix boot partition's filesystem for MAGLDR's backup&restore to work.
Fix the name of the backup sub-folder(htcleo instead of 0s).
TWRP v2.6.0.0 @ 2013.07.09
Compiled version based on mainline code (v2.6.0.0).
Fix boot partition's filesystem for MAGLDR's backup&restore to work.
Fix the name of the backup sub-folder(htcleo instead of 0s).
TWRP v2.6.1.0 @ 2013.08.31
Compiled version based on mainline code (v2.6.1.0).
Fix boot partition's filesystem for MAGLDR's backup&restore to work.
Fix the name of the backup sub-folder(htcleo instead of 0s).
TWRP v2.6.3.0 @ 2013.09.14
Compiled version based on mainline code (v2.6.3.0).
Fix boot partition's filesystem for MAGLDR's backup&restore to work.
Fix the name of the backup sub-folder(htcleo instead of 0s).
TWRP v2.8.6.0 @ 2015.04.30
Compiled version based on mainline code (v2.8.6.0).
Fix boot partition's filesystem for MAGLDR's backup&restore to work.
Fix the name of the backup sub-folder(htcleo instead of 0s).
Fix some ui bugs in the default theme.
TWRP v2.8.6.1 @ 2015.05.02
It is version 2.8.6 with a quick fix over a bug in the default theme engine that was causing an error during each boot.
Installation:
---------------------
Make sure you have adb and fastboot working. Please don't ask here questions about this - a simple web search will be enough to help you.
Make sure that the size of the 'recovery' partition is enough for the image to fit.
Make sure the name of the recovery *.img file is the one you use in the commands or in flash.cfg
[cLK/MAGLDR]
Flashing the zip file from Recovery
Download zip file to your computer and copy to /sdcard.
Reboot phone into recovery.
Select to install the zip file from your /sdcard.
Reboot Phone into recovery as normal.
[cLK/MAGLDR]
Flashing the *.img file while booted in Android
Download the recovery file to your computer.
If it is a zip file, extract the *.img.
(Win) Open the folder you have the recovery, do a [Shift+RightClick] and select "Open command window here".
(Lnx) Open the folder you have the recovery, RigthClick and select "Open in Terminal".
Execute the commands:
Code:
adb push recovery-leo.img /sdcard/recovery-leo.img
adb shell erase_image recovery
adb shell flash_image recovery /sdcard/recovery-leo.img
Reboot Phone into recovery as normal.
[cLK]
Flashing the *.img file while in fastboot mode(cLK menu)
Download the recovery file to your computer.
If it is a zip file, extract the *.img.
(Win) Open the folder you have the recovery, do a [Shift+RightClick] and select "Open command window here".
(Lnx) Open the folder you have the recovery, RigthClick and select "Open in Terminal".
Reboot phone into cLK menu (fastboot mode).
Execute the commands:
Code:
fastboot erase recovery
fastboot flash recovery recovery-leo.img
fastboot oem boot-recovery
[MAGLDR]
Flashing the *.img file while in USB Flasher mode(using DAF.exe)
WARNING!!! This will erase your current Rom on NAND too!
Download the recovery file to your computer.
If it is a zip file, extract the *.img.
Open the folder you have the recovery and place DAF.exe and flash.cfg in that same folder.
Edit flash.cfg according to required recovery partition size:
Make sure the .img file has the name that flash.cfg specifies!!
i.e. If the *.img file is named recovery-leo.img and min-required-size = 6MB then the flash.cfg could be:
Code:
misc ya 1M
[U]recovery rrecov|ro|nospr 6M recovery-leo.img[/U]
boot yboot|ro 5M
system ya 150M
cache ya 2M
userdata ya|asize|hr allsize
Check out the info about flash.cfg.
Connect the device to the computer via usb, enter MAGLDR and select USB Flasher option.
Right click on DAF.exe and select Run as Administrator.
Click [NEXT] when asked and wait to finish.
Download:
---------------------
HD2_TWRP_2.8.6.1.zip
md5: 93972887cfd3e017d16a09a74900496d
Info: You need to have a recovery partition at least 9 MB to fit the img
HD2_SD_TWRP_2.8.6.1.zip
Info: Extract to the root of your SD Card
Old Releases:
---------------------
HD2_TWRP_2.8.6.0.zip
md5: 882aaa25d9ff17613c64efe53c127d3a
HD2_SD_TWRP_2.8.6.0.zip
HD2_TWRP_2.6.3.0.zip
md5: 53c9522dbaa5ab465874258c01758143
HD2_SD_TWRP_2.6.3.0.zip
HD2_TWRP_2.6.1.0.zip
md5: d66519b22d219865d741389013ea034f
HD2_SD_TWRP_2.6.1.0.zip
HD2_TWRP_2.6.0.0.zip
md5: 185e6b34699e4cdb176780695e9e06aa
HD2_SD_TWRP_2.6.0.0.zip
HD2_TWRP_2.5.0.0.zip
md5: 9604cb28b3e91047abdc3a63d5b827df
HD2_SD_TWRP_2.5.0.0.zip
HD2_TWRP_2.4.4.0.zip
md5: b24bdf020b8ea3222c92df0644c88203
HD2_SD_TWRP_2.4.4.0.zip
HD2_TWRP_2.4.0.0_r1.zip
md5: 8bd2b557442c5af73d38f9e7a054b67a
HD2_SD_TWRP_2.4.0.0.r1.zip
HD2_TWRP_2.3.2.3.img
md5: ad8d1909d54c440f9b79eacad31910b9
recovery-twrp-leo-2.0.0RC0.1.img
md5: 6279a726b19a4ff2fccfe592e23b2e48
recovery-twrp-leo-2.0.0RC0.img
md5: e12fc48a863e4a2984d7fcf3b2cad50a
recovery-twrp-leo-1.1.1-3.img
md5: 6198e06b7ca85379e16acde4d9a19752
recovery-twrp-leo-1.1.1-2.img
md5: 52c51eee07c50a928341b22c3e2a60b6
recovery-twrp-leo-1.1.1-1.img
md5: 4801f88e0d2a62b5a1c3d168a4116d0d
recovery-twrp-leo-1.1.1.img
md5: 7fa63b205facf64bd69d805acf34ae8c
recovery-twrp-leo-1.1.0-2.img
md5: 8bd05c6b1e25bd8cf410e308bed23fe5
recovery-twrp-leo-1.1.0.img
md5: 449b06b28f73e996a33e06c047b51b98
Special Thanks to:
---------------------
* Core twrp 2 development team: agrabren, Dees_Troy, ViViDboarder, and AssassinsLament
* Toastcfh – for his underappreciated dedication to the community
* s0up and kevank for their hard work on the web side of things.
* The rest of Team Win: shift, onicrom, netarchy, kevank, myndwire, bigbiff, dkelle4, shinzul, spiicytuna, and eyeballer
* Amon_RA - for his great Recovery
* Koush - for his dedication to the community and ClockworkMod
* For all the help with devices and testing Akmzero, arif-ali, Evil_DevNull, gus6464, Jesusice, Pyrostic, [R], and Rootzwiki
* As always thank you to the Team's supporters and the Android Community.
[22 Dec 2011][RECOVERY] Team Win Recovery Project (twrp) v2.0.0RC0.1
Original OP
FAQ
FAQ from TWRP team is here
Q: Does Rom Manager work with this
A: No
Q: Will you be providing support for Rom Manager
A: Maybe, when I have time, or if Team View release it before me
Q: Does it work with MAGLDR
A: Yes, use AD recovery
Q: Does this mean we cannot easily install ROMs
A: Yes, but the code for that may be added at later date, this is Work In Porgress
Q: Will reboot to Recovery work as normal
A: Yes
Q: Does Off-mode charging still work
A: Yes, same as CWM on cLK. it will charge when off, but pressing the power button while charging will not turn the phone on
Q: I got "failed with error: -1"
A: make sure the recovery size is 5M, anything below that is not supported, You can check this by running adb cat "/proc/mtd | grep recovery"
Changelog
ChangeLog
---------------------
2011-12-22 - v2.0.0RC0.1
Fix issues with wiping data on MTD devices (thanks Dees_Troy)
2011-12-18 - v2.0.0RC0
Initial release of twrp 2
Full GUI touchscreen with buttons and XML engine
Fixed sdcard free space checking
Fixed bugs with MD5 zip file checking
Now check more places for a serial number
Too many fixes versus twrp 1.1.1 to list
2011-10-11 - v1.1.1-3
Fix sd-ext issues (no longer use auto FS, and use ext3)
2011-10-08 - v1.1.1-2
Fix sd-ext restore issue
Fix issue with SD repartition and the send button again
2011-10-08 - v1.1.1
fixed fix permissions bug
fixed md5 checking for zip install
2011-10-07 - v1.1.0-2
Changed the select key from power to call button
2011-10-07 - v1.1.0-1
Changed buttons so that it works with the HD2
HD2 Initial Release
2011-10-05 - v1.1.0
brand new nandroid process with more error checking and supports ext3/ext4 types of devices
sdcard partitioning is available for devices with a sdcard (courtesy of koush from CWM source)
can choose multiple zips before flashing and they will flash in the order chosen
files & folders are sorted case insensitive
added option to sort zips by file date instead of file name
can apply themes and change time zones without rebooting for instant gratification
saved settings will now persist through version changes
added myn's warm theme with color codes courtesy of myn
added option to wipe system, data, and cache with rm -rf during a nandroid restore to maintain existing file system settings like block size
added options for automatic md5 checking of zips
twrp spam off by default which makes nandroids up to 10x faster
2011-08-05 - v1.0.3
Added timezones that should cover everyone
Added twrp spam feature (twrp settings)
Added fix permissions (advanced menu)
Added wipe cache and dalvik into Flash Zip menu
Added copy recovery.log to /sdcard (advanced menu)
Added output spam/no spam to restores
Added mke2s prebuilt to /sbin
Fixed SD-EXT issues, (no partition SD-EXT features yet)
Fixed EFS partition issues
Changed the way we do backups on mtd devices, which should fix any boot partition issues (we suggest making new backups if you have an mtd device, EVO4G,NS,NS4G,etc)
2011-07-31 - v1.0.2
Fixed SD-EXT issues
Added Format SD-EXT into format menu
Removed GAPPS support, CM7 automatically backsup and restores if you already have GAPPS installed. If you don't, just flash GAPPS zip
Fixed issue where when flashing a rom, rebooting brings you back to recovery. Auto reboot after successful flash should work great now!
Rearranged the format menu
2011-07-30 - v1.0.1
Initial release
Since I had Already started with the ports for the Recovery Themes...
This is the Link to New Thread.
Sory for Any Inconvenience this has caused you Arif...
Please Visit New Thread Here...
If you See any New themes that you would like me to Port please feel free to post on the Thread Linked Above...
tobiascrystal said:
No kidding, you are super fast! In your experience would you say that this has anything over cwm that you have learned getting it to work for us?
Sent from my HTC HD2 using XDA App
Click to expand...
Click to collapse
It is customizable and has touchscreen capabilities.
wow very nice new features compared to clockworkmod...
Just installed few minutes ago, as far as I can tell, it seems all is working fine!
I might have a "small" request, is it possible to map the buttons just like in cwm? I didn't like the idea of using the end button that much...
---------- Post added at 01:51 AM ---------- Previous post was at 01:49 AM ----------
Ultimaex said:
It is customizable and has touchscreen capabilities.
Click to expand...
Click to collapse
Not just yet! This is 1.xx version based, the one you're refering with ts capabilities is 2.x based...
Kool... Now users will have a choice for more than one recovery on leo too... Al thanks to you cheers
And button customization would be good... I hate using the end key.. I fearing... My touch screen might get spoilt again ...
Sent from my HTC HD2 using XDA App
Seems to work great. I did a backup and restore and all went well thumbs up
Sent from my HTC Runnymede using XDA App
So right off the bat I'm impressed with the compression....does it allow us to produce our own zips? I'd like to rename my backups based on the rom they backed up instead of just a date/timestamp.
Nice........
Definitely a thing to look in future
Hope all the bugs are resolved soon
EDIT: - Thanked & RATED 5 STAR (All I can do as of now )
i don't understand how can i install this, becouse this is not zip file. Can you help me please
you install through adb. if you dont know what that is, do a search. there are many FAQ's about it. I would recommend doing plenty of research on it before diving right in.
if someone can do some pictures for me that would be great, as I don't have a camera, or a second phone which has a good quality camera
thanks
How's about battery charging, like clk?
huhjun said:
How's about battery charging, like clk?
Click to expand...
Click to collapse
It's the same as CWM
Edit: Added to FAQ
arif-ali said:
if someone can do some pictures for me that would be great, as I don't have a camera, or a second phone which has a good quality camera
thanks
Click to expand...
Click to collapse
Here you go with some phot... Not so high quality though... If you need better.. Tell me I will upload photos taken from my handy cam ... And what vabout changing end call button to call button
http://db.tt/afg0Szat
Sent from my HTC HD2 using XDA App
i got "failed with error: -1"
* * * * * * * * * * * * * * * * * * * * * * * * *
PhilZ Touch 6 Recovery
CWM Advanced Edition 6.x
* * * * * * * * * * * * * * * * * * * * * * * * *
Support clockworkmod developement
>> Downloads and How to Install in POST 2<<>> Special Features Guide in POST 3<<>> Changelogs in POST 4<<
Main thread here: http://forum.xda-developers.com/showthread.php?t=2201860
PhilZ Touch Features: Read POST 2 for instructions to use special functions like aroma and ors support
Main menu and PhilZ Settings
{
"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"
}
GUI Preferences: all is applied live (no reboot). Up to 14 menu height settings, scroll sensitivity, touch accuracy...
27 color settings + 5 alpha transparency levels for every GUI element
Change background image with a custom png (of your device resolution), a solid color (27 presets) or revert to original cwm image
User configurable touch gestures (feel free to request for new actions)
Setup your time-zone + 30mn offset, super wipe option to install a new ROM
Backup and Restore any partition in a complete freedom, include modem (.img + .bin) and efs (.img + .tar)
Custom backups can also be restored by original CWM Advanced Restore Menu
TWRP Backup and Restore Support + md5 + single/multivolume format
Support multi-cpu compression, md5 check toggle and custom .android_secure path
Choose ors backup volume target
Flash multiple zip files in a raw
Aroma File Manager + Terminal Emulator: launch with a gesture action (double tap is default)
Full Wipe to Install a new ROM (sdcard is preserved)
Free Browse Mode to install zip files: select a default folder to start with and browse up to the root
Enjoy, and do not hesitate to post feedbacks and comments
Credits
Koush for having created and maintaining cwm
Cyanogenmod for making all this possible
Tallustus from Team Skyfire for his great support over IRC: MAJOR CREDITS
Dees_Troy from TWRP team for pigz source and many great ideas in their recovery + source for backups compatibility
Patrics83 and HTC One X xda community for their big help in debugging the touch events input code
Chenglu for his great unpack / repack tool
kbc-developers for the base semi-touch code and much more
[email protected] for his great job / support
McKael for his invaluable support in fixing for Nexus 4
sk8erwitskil for his recovery source, a great place to start learning
amarullz for bringing Aroma File Manager
shoe63 for his testing and great help in porting to the N7000
Tectas and zscomp for their great support in porting to i9300, but not forgetting rulala and störte
wanam for compiling kernels for N71xx and i317M to fix boot delay for custom kernels
dr.ketan for his precious help in porting to the N7000 & N7100 (I don't own one) and all the support in threads
The_Steph: for his major help in debugging for n7100.
a3955269 for providing an updated port of TWRP to i9100
adishakthi, ttav and kolmanb for the time they took to debug touch UI for tablets (N8xxx/P31xx)
jeboo for all his feedback about fixing bootloops...
utkanos for his great and kind support over IRC
gweedo767 @ #Koush for sharing his touch code source (not used)
myfluxi for his xxRecovery source in fixing dual usb mount
RM57380 for the tip to grab pictures: fb2png
Chainfire for his support (stock recovery flash) and all his work for the Android community
superatmos and Dharam_Maniar for their great guides on unpacking/building custom kernels
XDA:DevDB Information
PhilZ Touch Recovery, Tool/Utility for the HTC Desire 816
Contributors
v_superuser, Grarak
Version Information
Status: Beta
Beta Release Date: 2014-07-22
Created 2014-07-22
Last Updated 2014-07-23
Downloads and Instructions
Downloads
Get the latest recovery image from here -
Android File Host - http://www.androidfilehost.com/?w=files&flid=16920
Goo.im - https://goo.im/devs/philz_touch/CWM_Advanced_Edition/a5/
How To Install
Run these commands in fastboot -
Code:
fastboot flash recovery recovery.img
For support, join support channel on IRC, #htca5
Reserved
PhilZ Touch 6 Guide!It is based on Koush clockworkmod 6.x to which I added many features and a full reliable touch interface
Version 5 brings mainly a true touch and scroll interface with a much more optimized and portable touch source
How to select your .android_secure path
In Custom Backup and Restore operations, you can select the target/source for android.secure or disable it
In stock backup/restore operations, include those started with ROM Manager, you can also force a target/source for .android_secure
basically, recovery will check first external storage for a .android_secure folder. If it doesn't find it, it will look in internal storage
If you want for example .android_secure to be in internal sd, just delete .android_secure folder from external sd and ensure there is a .android_secure folder in internal sd
for external sd, just ensure there is a .android_secure folder in it. It will be chosen what ever is the internal sd state
Custom Backup and Restore menu
This is one of the most powerful features of this recovery.
It is made completely open source code, built from sratch. Just keep credits headers and give proper credit if you use them
You can select which partitions you want to backup or restore
You can choose your .android_secure source and target or even disable it
You can set it to reboot directly after job is done
backups will go under the folder clockworkmod/custom_backup
TWRP backups go under stock TWRP/BACKUPS/device_id folder and will be automatically recognized by TWRP
Custom Restore Menu allows you to restore from any of the stock clockworkmod/backup folder, the custom_backup or the TWRP backups
If your backup folder was moved to /sdcard/0/clockworkmod after installing Android 4.2, you can go through the Custom Restore process. When it prompts you to browse sdcards, it should show an additional menu to offer you to browse Android 4.2 folder (/sdcard/0). The additional menu is shown only if recovery detects a /sdcard/0/clockworkmod folder on /data/media devices
efs is backed up under clockworkmod/custom_backup/.efs_backup
modem.bin files can be named any_thing.bin and must go under clockworkmod/custom_backup/.modem_bin
if you enable compression and disable md5, your backups will no more be recognized by stock cwm builds. Otherwise, all stock and custom backups are backward compatible with stock cwm (except special partitions like preload, recovery, modem and efs which stock cwm doesn't support)
Open Recovery Script Support (ORS): revised and adapted from original sk8erwitskil source
On start, recovery looks automatically for /cache/recovery/openrecoveryscript installed by goomanager or any tasker. If it finds it, it is run and phone will reboot
You can also add custom ors scripts you edit your self:
When pressing the ors menu, it will look at default locations for your custom scripts:
clockworkmod/ors first in external_sd, then in internal sd. Put your custom scripts there with file extension .ors
That way you can access your jobs (flash, wipe, backup, restore...) instantly
If no scripts are found in default folder, you get option to browse both sdcards for a custom location
To learn how to write ors scripts to automate your backup/restore/wipe/flash tasks, read here, it is very easy: http://wiki.rootzwiki.com/OpenRecoveryScript
Give Goomanager a try
All backup and restore options are supported except special partitions 1, 2 and 3 (could add modem, efs and preload linked to them later)
/preload will be included with /system if you enabled the /preload option in Misc Nandroid Settings
you have an extra here: you can set the target volume for ors backups under Misc Nandroid Settings menu
Aroma File Manager Support *Adapted from amarullz and sk8erwitskil
You get here the possibility to browse your phone with root access in a friendly GUI file browser, while being in recovery
You even now get a terminal emulator to run in recovery
Download Aroma File Manager from its Home Page
Get the 1.80 version and name the file aromafm.zip
Put the aromafm.zip in clockworkmod/.aromafm/aromafm.zip in external or internal sdcards
In recovery, tap the Aroma File Manager menu or double tap any part of the screen outside menus
It will launch the file manager automatically
Double tap gesture linked to Aroma File Manager can be altered in the GUI Settings menu
Touch GUI Preferences:
This is another unique feature of this recovery and is built from scratch
You can toggle through 4 touch modes:
Full Touch: menus are validated by touching them. I added extra checks to make it robust to validation by error while scrolling. After scrolling, your first touch will only highlight touched menu instead of validate it. If a delay of 1 sec passed, it will validate immeadiately on touch
Double Tap: menus are highlighted on first touch. To validate action, you need to double tap the same menu
Semi Touch: the classic semi-touch interface I enhanced. Menus are selected/highlighted on first touch. You can scroll by swiping up/down, but no validation on touch.
Disable Touch: touch code completely disabled. You have all gui options left, but only hardware keys
When Full Touch mode is selected, it will automatically set recommended menu height, touch accuracy and scroll sensitivity. You can alter them later if you want
Scroll sensitivity controls scrolling on swipe up/down. Lower values are the most sensitive. Adjust this based on selected menu height
Touch accuracy: increase it if your touch gestures are not well accounted for
Config files are saved in /data/philz-touch/philz-touch_5.ini file.
You can do a backup of your settings file, it will go under /sdcard/clockworkmod/philz-touch.ini.bak
You can choose to be prompted to restore your settings whenever they are wiped while you have a backup. You can also set recovery to auto-restore them when needed. This check is done when you reboot to main system from within recovery
There are many gesture actions that you can setup at your wish (some default actions are setup by default)
Long press/move is the bad equivalent to a long press gesture action: just that after one sec of touch, slightly move your finger or change the pressure surface without actually lifting it
Your screen should auto-dim automatically after one minute and turn off after 3 mn. You can change those time settings. Just touch the screen to reset brightness and turn it on
All GUI parts can be customized: menu hight, text colors, menu colors, selection colors, background color and icon, menu seprators, battery and clock, header text...
To setup a custom background image: put a png image with your device resolution in a folder clockworkmod/custom_res
You can take screen shots from recovery display by the slide left gesture (change it at your wish). Pics captures will go under clockworkmod/screen_shots folder. External storage will be always used first. If no external storage is found, internal storage is used. You can take up to 999 pics before it resets to 1
Setup Free Browse Mode and Multi-zip Installer:
Free Browse Mode:
You can setup a default folder from where the Install Zip menu will start
From within your set default folder, you can now browse backward up to the root file system to install a zip file
Multi-zip Installer menu:
Lets you select multiple zip files to flash at the same time
The zip files must go into a subfolder under: "clockworkmod/multi_flash"
At least one subfolder with your zip files must be created. You can create as many subfolders as you want
exp: clockworkmod/multi_flash/NEAT_ROM_files
Easy Log View and Pause on Logs:
In Easy Log View mode, your logs will have a smaller size to better fit the screen. This will be completely revised in upcoming v5 though
Pause on Logs: when enabled, after flashing a zip file or doing a nandroid job, you will be prompted for a key to return to menu display. That way, logs are kept in full screen. Obviously, no pause will be performed on boot scripts and multi-zip operations
Full Change History
6.48.4 (06.07.2014)
- merge multi stage install packages support from AOSP
- CWM 6.0.5.0
6.48.1 (30.06.2014)
- add option to directly parse time_daemon data files
- refresh current time in menu header after time daemon fixes
- fix first passkey prompt screen did not show proper background under some circumstances
- libtouch_gui 1.30
6.47.7 (25.06.2014)
- preserve background icon user settings after sideload, install zip and wipe actions
- use real fstype instead of auto in /etc/fstab when converting between ext4 <-> f2fs using extra.fstab
- libtouch_gui 1.29
- LG G2 variants: enable performance mode in recovery (device tree)
- HTC One Mini (m4): enable f2fs and exfat kernel support
- Galaxy S5 LTE (klte): enable backup/restore of /efs, /modemst1 and /modemst2 partitions
6.47.6 (24.06.2014)
- recovery lock: support use of virtual / capacitive keys as pass key
- libtouch_gui 1.28
6.47.4 (23.06.2014)
- fix adb was disabled when no recovery lock passkey was setup
- Galaxy S3 D2 variants: enable f2fs support
6.47.3 (20.06.2014)
- add recovery lock with passkey on start
- better extra partitions support in custom nandroid operations
- fix segfault during shell nandroid backup/restore commands
- enable progress display during "adb shell nandroid backup/restore" commands
- enhance and fix bugs of progress display during install/nandroid... operations
- nandroid restore: fix progress bar animation when md5 verify is enabled
- nandroid md5: fix progress bar was not reset for each file
- nandroid md5: fix .android_secure md5 sum was never generated or checked
this could cause md5 check to fail under some circumstances
- limit logging to console in adb shell nandroid and mount commands
- fix detection of real fstype (pointer to in the scope char array bug)
- merge: "Only chmod backup/blobs directory if it exists"
- merge: "Enable cmdline nandroid backup of vold volumes"
- disable useless sd-ext warnings and errors
- merge loki updates
- f2fs <-> ext4 conversion: support fs_options2 through extra.fstab before dropping to bare minimal options
- clean up code
- libtouch_gui 1.26
6.43.8 (02.06.2014)
- fix recursive path creation bug for /data/media/0
- f2fs: do not try f2fs recovery.fstab mount options on an ext4 partition
- f2fs: do not redefine default recovery ext4 mount options when migrating from an f2fs recovery.fstab
- f2fs: error message when converting unsupported file systems
- fix Galaxy Mega variant background resolution
6.43.5 (01.06.2014)
- default to /data/media/0 unless we define BOARD_HAS_NO_MULTIUSER_SUPPORT
- use lstat to check if file exists
6.43.4 (01.06.2014)
- fix text print colour could persist after md5 check
6.43.3 (31.05.2014)
- fix f2fs conversion of /data on /data/media devices
- allow ext4 <-> f2fs backup data migration in nandroid
- cleanup code
6.43.0 (30.05.2014)
- nandroid backup: fix 'media' exception:
In CWM, a bug present from the begining was preventing any path/file named media from backup on /data/media devices
This fix will only exclude /data/media path and not other media files/folders
6.42.9 (30.05.2014)
- default again to libtar for backup/restore
6.42.7 (30.05.2014)
default to busybox tar:
- use busybox tar by default as it now supports selinux context backup/restore
- unify libtar and busybox tar options (-p for selinux context)
- remove now deprecated external selinux container code
6.42.5 (30.05.2014)
- f2fs: recreate /etc/fstab after ext4/f2fs conversion for proper use of system mount command
- comment useless dead code
6.42.4 (30.05.2014)
- f2fs: fix nandroid restore to f2fs partitions
- f2fs: support format extra storage to f2fs (vold patch needed)
- f2fs: support switching between f2fs/ext4 (needs f2fs in kernel modules), thanks @KumaJaya
- f2fs: reload volume table after f2fs/ext4 conversion (no reboot needed after conversion)
- f2fs: do not format whole /data when not expected on /data/media devices
- f2fs: allow /data f2fs/ext4 conversion for non data_media devices
6.41.8 (26.05.2014)
Preserve recovery settings after a wipe
- on settings change, create a second copy of recovery settings on primary storage (/sdcard)
- on recovery exit, always copy recovery settings to sdcard if no copy is present
- after a wipe, on recovery exit, try to restore settings from the copy on primary storage
- fix save/restore settings menu labels
- libtouch_gui 1.22
6.41.6 (12.05.2014)
- update exfat to dorimanx 1.2.9 latest sources
- fix compile error when enabling BOARD_RECOVERY_USE_BBTAR
- repo sync latest sources
- Galaxy Tab Pro 8.4 WiFi SM-T320 (mondrianwifi)
- HTC M7 variants: use new cm kernel with exfat sources
- HTC M8 variants: use new unified recovery
6.41.5 (11.05.2014)
- libtouch_gui 1.21: auto detect BRIGHTNESS_SYS_FILE path if it is not set during compile
* search for the file in most common locations
* if found, save it to recovery settings ini file to be called on next recovery starts
* else, disable adjust brightness function to avoid error logs on recovery start
- fix various compiler warnings and errors
- enhance pre-compile setup
- dedupe: merge clean up code from @xiaolu
- merge: fix restorecon_from_file potential crash from @xiaolu (only for BOARD_RECOVERY_USE_BBTAR)
- fix 240x320 images
- merge "cwm: Honor recovery variant "
- merge "cwm: Remove hardcoded paths"
- merge "Keep 'show log' on screen until user dismisses it"
- create /data/media directory after internal storage is wiped
prevents denial to read/write from internal storage under some circumstances
- open source touch_gui library
- update licence files
6.40.1 (03.05.2014)
- proper libtar implementation: support backup/restore of selinux context inside archive
- dedupe: support backup/restore of selinux context by @Chenglu
- libtouch_gui 1.20: support custom key files (BOARD_CUSTOM_RECOVERY_KEYMAPPING)
Thanks for great work!
could u make it for HTC E8? i have the partions but dont know how to compile a rec...thanks
Great man, was always a fan of cwm but abandon this due to the lacking of touch capabilities..
---------- Post added at 11:51 AM ---------- Previous post was at 11:50 AM ----------
One question, does this recovery support off-line charging?
Can you elaborate how to install
Kindly let me know what is fastboot.
How to open fastboot?
Sorry, I never use HTC before.
Can u make a flashable zip plzz?
Sent from my HTC D816w using XDA Premium 4 mobile app
Not sure if I got it right...I tried to access the /etc directory to replace the platform.xml file, but i only found 4 files inside. I have already mounted /system before launching aroma so...am i missing anything?
Can't use TWRP cuz its not supported on my 816 (touch screen doesn't work). Mine is a single sim 4g malaysian model.
Never mind, got it to work after a few tries... lol, finally i can get camera-fv to work now.
Other than that...looks great. be careful on the touches...the go back key is way too close to the to the rest of the format options
p/s: not very sure what happened...after flashing this in, i got the tampered word in my fastboot screen. Previously with earlier versions of cwm, it only has the unlocked word. not sure what will actually trigger the tampered word.
Battery incorrect
hi ! I flashed this recovery . I find the battery number is incorrect . the number show 100% under normal boot ,but the number become 50% only when entering recovery .
If anyone know what happen ?
It says Android is upgrading and keeps rebooting,please help.
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 #2 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_pme/commit/f168dc3cd98bb8778e12b14716e3015b9b873256"]Add vendor init[/URL]
[*][URL="https://github.com/TeamWin/android_device_htc_pme/commit/4b4e1c14b65aa3d974e99d08ad0851b5ec24e0c5"]Decryption updates & cleanup[/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-1:[/COLOR][/SIZE]
[LIST][update] Add support for AOSP Oreo decryption[/LIST]
[SIZE="4"][COLOR="Green"]3.2.1-4:[/COLOR][/SIZE]
[LIST]Enable f2fs support
- Fixed source so it compiles properly[/LIST]
[SIZE="4"][COLOR="Green"]3.2.1-3:[/COLOR][/SIZE]
[LIST]Update kernel to custom Oreo built from 3.16.708.3_R HTC Dev source
- Patched for proper working touch (reboot recovery now works as well)
[*]Enable NTFS
- f2fs remains disabled, as source won't compile with it enabled[/LIST]
[SIZE="4"][COLOR="Green"]3.2.1-2:[/COLOR][/SIZE]
[LIST]Use /persist as Qualcomm time fix source during early boot
- Fixes broken time issue on Oreo firmware[/LIST]
[SIZE="4"][COLOR="Green"]3.2.1-1:[/COLOR][/SIZE]
[LIST]Updated kernel to US Unlocked Oreo (3.16.617.2) - patched for working touch
[*]Added support for Oreo decryption (posthumous thanks to @nkk71 for all his hard work on decryption)
[*]Disable f2fs & NTFS support until custom kernel can be built
[*]Update vendor init to properly detect Verizon model by CID[/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 #2 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 #2
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!!
3.2.1-1 through 3.2.1-2: Reboot recovery is broken (due to patching stock kernel for touch - requires kernel source and custom kernel build to fix) - UPDATE: Fixed with 3.2.1-3
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 by the device maintainer, 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 10
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 2016-04-13
Last Updated 2020-06-25
Frequently Asked Questions (FAQ)
1. Why is this device different than my previous HTC device?
With the 10 (and the 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 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 HTC 10, 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 10 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?
You can't. The "fastboot boot" command appears to be disabled on the 10's ABOOT, so TWRP must be fastboot flashed over stock recovery. You can however, extract the stock recovery.img from the OTA firmware.zip when it's received and use that to install the OTA.
An alternate method to obtain a stock recovery is listed below, but it requires 2 devices (either owned by you, or help from someone else in the forum):
Someone fastboot flash twrp and immediately make a backup of boot and upload it to XDA.
Once the above is available, someone else download that boot.img to their device, and fastboot flash twrp to the BOOT partition of their device.
Once the above is done, reboot the device, which will bring up TWRP, and then backup stock RECOVERY in TWRP, and upload to XDA.
Then, from within TWRP, use the Image install feature in TWRP to flash the stock boot.img.
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.
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 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)
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 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 HTC 10 devices on Nougat+ are encrypted using FDE force-encrypt)
TWRP decryption on the HTC 10 on Nougat+ relies on the currently running ROM's own system files, 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.
PSA for Devs regarding mounting system in updater-scripts
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 newer HTC devices, this will not always be effective, due to the variable state of system when booting into TWRP (more information in the above 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 HTC is changing how they do things, and it's different than we're all used to. Let's all adapt to the change together. .
You may notice that there's no device page for the HTC 10 on the twrp.me site. Well, obviously, that's because the device hasn't been released yet. However, if you happen to have the device already, you may be able to find a TWRP build for it somewhere, if you figure out where to look .
Once the device is released, please be assured that a device page will be created so everyone can easily get to it. Until that happens, I'll be keeping the thread closed. Thanks for your understanding!
Alright, since @topjohnwu was kind enough to post a TWRP backup from his release version device, I'm opening the thread and offering an "unofficial" release on the Downloads tab until I can get the official build working.
Here's a link to the build:
twrp-3.0.2-1-pme - DEPRECATED BY OFFICIAL RELEASE
P.S. If you happen to have the currently elusive Sprint variant of the 10, this version WILL NOT WORK. I do have a working version for Sprint, but I will need to wait for the release software before I post it.
UPDATE: As of the official 3.0.2-2 release, the Sprint variant is supported!
Captain_Throwback said:
Alright, since @topjohnwu was kind enough to post a TWRP backup from his release version device, I'm opening the thread and offering an "unofficial" release on the Downloads tab until I can get the official build working.
Here's a link to the build:
twrp-3.0.2-1-pme
P.S. If you happen to have the currently elusive Sprint variant of the 10, this version WILL NOT WORK. I do have a working version for Sprint, but I will need to wait for the release software before I post it.
Click to expand...
Click to collapse
Thanks a lot man. I've got a minor issue here, take a look at the picture, it has a mouse cursor in the center for all time.
Also, would you mind me contact you on hangouts? I am curious about some questions, and I cannot contact using PM.
topjohnwu said:
Thanks a lot man. I've got a minor issue here, take a look at the picture, it has a mouse cursor in the center for all time.
Also, would you mind me contact you on hangouts? I am curious about some questions, and I cannot contact using PM.
Click to expand...
Click to collapse
You're just going to have to ignore the mouse cursor for now. I can't get get rid of that without kernel source.
Sure you can contact me on Hangouts. I do prefer PM, though.
P.S. Added mouse cursor issue to current bug list.
I'm trying to do some preliminary setup for AOSP encryption support. Can someone with a device please try flashing the 3.0.2-2 version I just posted, and provide the recovery.log afterwards (provided it boots)? I'd really appreciate it. Thanks!
Better yet, if someone can flash this 3.0.2-3 and pull a recovery log, and also post the output of lsmod either from adb shell or the TWRP Terminal, I'd appreciate it. I'm trying to a few things for decryption.
@Captain_Throwback
Tried 3.0.2-2 and 3.0.2-3, both cannot boot. Is there a way to pull logs?
Captain_Throwback said:
Better yet, if someone can flash this 3.0.2-3 and pull a recovery log, and also post the output of lsmod either from adb shell or the TWRP Terminal, I'd appreciate it. I'm trying to a few things for decryption.
Click to expand...
Click to collapse
Thanks Captain_Throwback .
twrp-3.0.2-2-pme.img & twrp-3.0.2-3-pme.img is work for me . devices TW 1.21.709.2 deodexed
topjohnwu said:
@Captain_Throwback
Tried 3.0.2-2 and 3.0.2-3, both cannot boot. Is there a way to pull logs?
Click to expand...
Click to collapse
When you say they can't boot, what do you mean? What happens, exactly?
When it tries to boot, does it get stuck? If so, do you have adb access? The OP says how to adb pull a recovery log. If not, then it'll just have to wait until I have one for me to try to fix it.
nenebear said:
Thanks Captain_Throwback .
twrp-3.0.2-2-pme.img & twrp-3.0.2-3-pme.img is work for me . devices TW 1.21.709.2 deodexed
Click to expand...
Click to collapse
Thanks, but it looks like you've already removed encryption, so these logs don't really help for what I was trying to work on. I do appreciate your willingness to help, though.
Captain_Throwback said:
When you say they can't boot, what do you mean? What happens, exactly?
When it tries to boot, does it get stuck? If so, do you have adb access? The OP says how to adb pull a recovery log. If not, then it'll just have to wait until I have one for me to try to fix it.
Click to expand...
Click to collapse
It just blinks the splash screen for about 0.5 sec and then no output. About a few seconds later it reboot to system.
I tried to catch adb shell in that few seconds, but it seems it is too short for TWRP to initialize the adbd
topjohnwu said:
It just blinks the splash screen for about 0.5 sec and then no output. About a few seconds later it reboot to system.
I tried to catch adb shell in that few seconds, but it seems it is too short for TWRP to initialize the adbd
Click to expand...
Click to collapse
Understood. I've seen that behavior before with decryption. That'll be difficult to debug without having to device in-hand, so it'll have to wait. Thanks for your feedback, and for being willing to test!
I'll pull down those other versions for now, since they add nothing but freezes.
I've removed the temporary version from the Downloads tab, as the official build has been updated.
And now we have a device page!
https://twrp.me/devices/htc10.html
edited
Is it possible to enable encryption once TWRP installed and dm-verity is disabled?
I'm talking about the old method of encryption where the /data partition is manually encrypted, rather than forceencrypt
Rooting and modding is great, but if the only way to do so is to disable encryption completely, I think that will change a lot of people's value prop.
orrorin said:
Is it possible to enable encryption once TWRP installed and dm-verity is disabled?
I'm talking about the old method of encryption where the /data partition is manually encrypted, rather than forceencrypt
Rooting and modding is great, but if the only way to do so is to disable encryption completely, I think that will change a lot of people's value prop.
Click to expand...
Click to collapse
TWRP doesn't support HTC's encryption. Not sure why you'd think there's a difference between the forced encryption and manual. They still use the same type of encryption on the stock ROM.
Once AOSP is available, decryption should be possible, but only on AOSP-based ROMs.
Captain_Throwback said:
TWRP doesn't support HTC's encryption. Not sure why you'd think there's a difference between the forced encryption and manual. They still use the same type of encryption on the stock ROM.
Once AOSP is available, decryption should be possible, but only on AOSP-based ROMs.
Click to expand...
Click to collapse
I understand that TWRP can't decrypt HTC's encryption, but what I'm wondering is whether it's possible to enable encryption on the HTC 10 after dm-verity has been disabled and root has been flashed.
{
"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"
}
MultiROM is a one-of-a-kind multi-boot mod. 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.
IMPORTANT
I'm not responsible for anything, you do all this on your own risk.
Once you have flashed and set up MultiROM, don't flash another boot.img using fastboot or normally. Always go to TheMultiROM Menu (3 bars in the top right corner) to flash ROMs/kernels or other mods.
If you want to uninstall MultiROM, just flash the MultiROM uninstaller.
Your device must not be encrypted.
When booting another ROM, you'll notice that in some cases, you can enter the recovery of the boot.img of the ROM. Please don't use it, flash everything using MultiROM TWRP.
INSTALLATION
Make sure you are on a Rom compatible with one of these kernels and flash it or use the non-kexec workaround. (See important Notices)
Reboot into MultiROM TWRP and flash the MultiROM installer
That's it. You can now go to TheMultiROM Menu (3 bars in the top right corner) to start flashing other ROMs.
Adding ROMs
Go to recovery, select TheMultiROM Menu (3 bars in the top right corner) -> Add ROM. Select the ROM's zip file and confirm.
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 TheMultiROM Menu (3 bars in the top right corner) 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 TheMultiROM Menu (3 bars in the top right corner) -> List ROMs and select the ROM you want to update.
Select "Flash ZIP" and flash ROM's ZIP file.
SOURCEs
MultiROM - https://github.com/XperiaMultiROM/multirom/ (branch master)
Modified TWRP - https://github.com/multirom-htc/Team-Win-Recovery-Project (branch android-6.0)
Kernel w/ kexec-hardboot patch - https://github.com/Myself5/kernel/ (branch aosp/LA.BF64.1.2.2_rb4.7)
FAQs can be found here.
CREDITs
Tasssadar
Olivier
nkk71
Garcia98
Thunder07
skin1980
Envious_Data
[NUT]
Panic Brothers
You might want to consider a Donation to Tasssadar, who is the Mastermind behind MultiROM
As well as a Donation to nkk71, who wrote the kexec-workaround and helped me a lot
Thanks a lot to those who have donated! The 2 really deserve it!
XDA:DevDB Information
MultiROM for Sony Xperia Z5, Tool/Utility for the Sony Xperia Z5
Contributors
Myself5
Source Code: https://github.com/XperiaMultiROM/multirom/tree/master
Version Information
Status: Testing
Created 2016-05-08
Last Updated 2016-06-25
Important Notice
This Posts includes Important Notices you need to read if you want to use MultiROM on your Z5.
You need to a kexec-hardboot supporting kernel or the non-kexec workaround as described perfectly by @nkk71 here: http://forum.xda-developers.com/showpost.php?p=64248526&postcount=4 (Be sure to leave him a like!)
Recovery Notice: The Recovery is working with init_sony. If your Kernel is using a older way to load recoverys, then it wont work. Talk to your Kernel dev about using init_sony.
MOST IMPORTANT: When installing MultiROM on Stock, USB Connections will be broken (Charging is fine). It's caused by MultiROM screwing up the permissions of a init file which is responsible for USB. There are Kernels where USB is fixed already. A list of them is in post 3. For intrested Devs, this is how to fix it:
Just add
Code:
chmod 750 /init.usbmode.sh
to the on init step inside of init.sony.usb.rc. It will fixup the permissions MultiROM screwes up.
CHANGELOGs
General MultiROM Changelog can be found here:
Changelog
XperiaMultiROM Specific Changelog is here:
Recovery Changelog
MultiROM Changelog
DOWNLOAD
https://dl.myself5.de
The recovery.img is Tassadars modified TWRP to flash secondary Roms. It is needed to flash the secondary Roms.
SUPPORTED KERNELs
Basically you can use any Kernel you want, if you can live without Touch Support in MultiROM and use the no-kexec workaround.
However, if you want Touch Support as well as fixed USB and kexec-hardboot, use one of these kernels:
OM5Z Kernel
AndroPlus Kernel (not sure if AP Kernel has fixed USB)
If you want your favorite kernel to support kexec or at least working touch and USB, tell the dev to merge my commits.
Nice work mate :good::good:
Though every effort has been made to ensure some form of safeguards and redundancy, MultiROM has always been a "hack", and the no-kexec-workaround is as well.
The no-kexec-workaround is working nicely on HTCs (well at least M7, M8, and M9) and I've seen some other devices using it successfully as well.
As always, have your backups safely tucked away somewhere fully safe.
Happy testing, and feel free to mention me (easiest way for me to get notified), if you think there's an issue to be addressed with the workaround.... I've personally only used it on HTC M7, M8 and M9, so there may be device specific issues, which I cannot account for.
Special thanks to @Captain_Throwback , @ljjehl and @MassStash for all the help and encouragement
And a very special thanks to @z31s1g not only for the official TWRP theme, but all the help he provided bringing it to MultiROM in a very quick way, thanks :good:
Wow this is so nice I was waiting for this! I still have a few questions tho:
-Will this work with stock 6.0 with the modified stock kernel (DM-Verity disabled/ Sony RIC disabled / DRM-FIX) ? I'm worried if it will brick my device since you wrote you have a hard time with stock.
-What is no-kexec? Why do I need it?
-About the USB connection bug on stock so if I install your dirty fix everything will work as before? If I uninstall multiROM I assume the USB bug will go away right?
Thank you for your time sorry I'm a noob
zate27 said:
Wow this is so nice I was waiting for this! I still have a few questions tho:
-Will this work with stock 6.0 with the modified stock kernel (DM-Verity disabled/ Sony RIC disabled / DRM-FIX) ? I'm worried if it will brick my device since you wrote you have a hard time with stock.
-What is no-kexec? Why do I need it?
-About the USB connection bug on stock so if I install your dirty fix everything will work as before? If I uninstall multiROM I assume the USB bug will go away right?
Thank you for your time sorry I'm a noob
Click to expand...
Click to collapse
1. Yes, it will work (You just won't have touch in the MultiROM menu (don't worry, you can setup the kexec workaround to work automatically in TWRP, as well as navigate with the volume buttons inside the MRom Menu). The hard time I get is with porting kexec to the stock kernel.
2. The No-kexec workaround is a (ha, who tought that ) workaround to not use kexec-hardboot. Kexec hardboot is a technology to load a kernel into the RAM using an other kernel. This is how MultiROM usually works. Read more about that here if you're intrested: http://forum.xda-developers.com/showthread.php?t=2104706 . Now, the no-kexec workaround is doing it on a rather dirty (but nicely working) way. It flashes the secondary ROMs boot.img to your boot partition, and then modifies the mount points to link to the ROM files in your internal/external storage (whereever you installed your secondary ROMs). It is needed, because of (1.), and because stock will probably not able to load a AOSP Kernel once kexec is working (so stock can only load stock, and AOSP can only load AOSP. For everything else, you need the no-kexec workaround).
3. Yes. USB is not working, because a script (which is responsible to start the USB Service) has the wrong permissions after booting from the MultiROM Menu (I was not able to include a proper fix for it inside the MultiROM code itself, maybe I will be some day). My App just fixes the permissions and executes the script (which else would be done by the system automatically) (It's basically just executing these 2 commands when pressing the button (or at boot when you turn the autofix on) https://github.com/Myself5/andoid_p...ava/de/myself5/stockusbfix/FixIt.java#L31-L34). Once you remove MultiROM, the script will get its proper permissions back as its a ramdisk file, inside the ramdisk it actually has its proper permissions, it just doesnt when getting extracted from the ramdisk at boot and MultiROM follows (MultiROM messes up the permissions).
I hope that answers your questions, if not, feel free to ask again
P.S. Be sure to read nkk71s Info about how to enable the kexec-workaround in the post I linked in the important notices post, it might shed some more light on what is the non-kexec workaround.
Myself5 said:
SNIP
Click to expand...
Click to collapse
Thank you very much for your quick answer!
So if I understood this right the detailed instructions would be:
Flash TWRP-Multirom-20160507-00-sumire.img or the recovery.img or both(?) with fastboot(?) to get the modified TWRP w/ MultiROM support
Now with this Modded TWRP I need to enable that no-kexec workaround in the settings?
Flash the actual multiROM: multirom-20160507-v33x-UNOFFICIAL-sumire.zip in TWRP
Flash e.g. CM13 (Finally ) from here: http://forum.xda-developers.com/xperia-z5/development/rom-cyanogenmod-13-sony-xperia-z5-t3356163" via the MultiROM menu.
Install the usbfix.
Does the CM13 Rom need to be modified to work with MultiROM or will it work as it is?
Thank you in advance
zate27 said:
Thank you very much for your quick answer!
So if I understood this right the detailed instructions would be:
Flash TWRP-Multirom-20160507-00-sumire.img or the recovery.img or both(?) with fastboot(?) to get the modified TWRP w/ MultiROM support
Now with this Modded TWRP I need to enable that no-kexec workaround in the settings?
Flash the actual multiROM: multirom-20160507-v33x-UNOFFICIAL-sumire.zip in TWRP
Flash e.g. CM13 (Finally ) from here: http://forum.xda-developers.com/xperia-z5/development/rom-cyanogenmod-13-sony-xperia-z5-t3356163" via the MultiROM menu.
Install the usbfix.
Does the CM13 Rom need to be modified to work with MultiROM or will it work as it is?
Thank you in advance
Click to expand...
Click to collapse
1. TWRP-Multirom-Stock-20160507-00-sumire.img is the recovery you need. Flash it via
Code:
fastboot flash recovery TWRP-Multirom-Stock-20160507-00-sumire.img
(If the Stock is not working, use the other one, I don't know which of the 2 existing recovery loading tools your kernel is using).
2. First flash multirom, then enable it in the MultiROM Settings Tab inside TWRP (see important notices on how to do that, nkk71 describes it in the thread)
3. yes.
4. Exactly.
5. Yes, only needed for stock roms, don't forget that. Oh, and it requires root, so depending if you have root already, you also need to install SuperSU (use 2.71 beta, it worked fine for me)
6. No, the secondary Roms don't need any changes at all.
BTW, your questions seem to be common, do you mind if I copy them together with my answers to a little FAQ in post 2?
Myself5 said:
1. TWRP-Multirom-Stock-20160507-00-sumire.img is the recovery you need. Flash it via
Code:
fastboot flash recovery TWRP-Multirom-Stock-20160507-00-sumire.img
(If the Stock is not working, use the other one, I don't know which of the 2 existing recovery loading tools your kernel is using).
2. First flash multirom, then enable it in the MultiROM Settings Tab inside TWRP (see important notices on how to do that, nkk71 describes it in the thread)
3. yes.
4. Exactly.
5. Yes, only needed for stock roms, don't forget that. Oh, and it requires root, so depending if you have root already, you also need to install SuperSU (use 2.71 beta, it worked fine for me)
6. No, the secondary Roms don't need any changes at all.
BTW, your questions seem to be common, do you mind if I copy them together with my answers to a little FAQ in post 2?
Click to expand...
Click to collapse
Thanks for answering all my questions. That should have cleared it up for noobs like me
The instructions seem a bit summarily written so your answers help a lot.
Yes sure go ahead FAQ is always nice
noob flasher here not quite got this fully working with a secondary rom yet still trying, but one scenario I can't get my head around.
If your primary rom is stock no root. How can you install the usbfix? Is this scenario possible?
bongo1 said:
noob flasher here not quite got this fully working with a secondary rom yet still trying, but one scenario I can't get my head around.
If your primary rom is stock no root. How can you install the usbfix? Is this scenario possible?
Click to expand...
Click to collapse
Nope. USB Fix needs root to work. I am still working on a different workaround for it (maybe inside MultiROM), but thats lower priority.
Sent from my Xperia Z3 using Tapatalk
@Myself5 , hey.
Could you extend support to the z5 premium too maybe ?
Thanks
Regards
AVK
Ashray_Vk said:
@Myself5 , hey.
Could you extend support to the z5 premium too maybe ?
Thanks
Regards
AVK
Click to expand...
Click to collapse
I don't develop for devices I don't own, as I then can't guarantee that everything does work nor that it won't break someones device. If there is a developer working on satsuki who wants to port it and comes across problems, I'll gladly help, but I'm not going to blind-port it on my own, I hope you understand that
Hey I have the E6653 and I'm getting error 7 while flashing multirom. Recovery flashing was successful tho. Why am I getting the error the codename of my phone should be "sumire" or is there something I've missed?
zate27 said:
Hey I have the E6653 and I'm getting error 7 while flashing multirom. Recovery flashing was successful tho. Why am I getting the error the codename of my phone should be "sumire" or is there something I've missed?
Click to expand...
Click to collapse
hum, 6653 is what I have too. What did you flash it on? Which recovery did you use? The Stock or the other one?
Sent from my Xperia Z3 using Tapatalk
Damn man you answer fast
I flashed it via TWRP, TWRP 3.0.2-0 (wrong I guess), I tried to flash the stock recovery one
Here is my fastboot output:
C:\Program Files (x86)\Minimal ADB and Fastboot>fastboot flash recovery C:\Users
\Pein\Downloads\TWRP-Multirom-Stock-20160507-00-sumire.img
target reported max download size of 536870912 bytes
sending 'recovery' (33988 KB)...
OKAY [ 1.118s]
writing 'recovery'...
OKAY [ 0.464s]
finished. total time: 1.584s
Seems like it wasn't successfull because TWRP seems like the same as before :/ Should I try the other recovery? (Without stock)
zate27 said:
Damn man you answer fast [emoji14]
I flashed it via TWRP, TWRP 3.0.2-0 (wrong I guess), I tried to flash the stock recovery one
Here is my fastboot output:
C:\Program Files (x86)\Minimal ADB and Fastboot>fastboot flash recovery C:\Users
\Pein\Downloads\TWRP-Multirom-Stock-20160507-00-sumire.img
target reported max download size of 536870912 bytes
sending 'recovery' (33988 KB)...
OKAY [ 1.118s]
writing 'recovery'...
OKAY [ 0.464s]
finished. total time: 1.584s
Seems like it wasn't successfull because TWRP seems like the same as before :/ Should I try the other recovery? (Without stock)
Click to expand...
Click to collapse
which kernel are you using?
BTW: MROM TWRP looks pretty similiar to the default TWRP, it just has 3 bars in the upper right corner which opens the Mrom Menu.
Sent from my Xperia Z3 using Tapatalk
kexec and Stock!
All right. I finally managed to get kexec-hardboot working on stock. I ported it to @AndroPlus Kernel at a first, because it seems to be the kernel you people use. I also uploaded a flashable zip (I used AndroPlus' flashable zip as a base), you can find it here:
Boot.img: http://dl.myself5.de/sumire/MultiROM/boot_E6653_M5_AP.img
Flashable ZIP: http://dl.myself5.de/sumire/MultiROM/Z5_AndroPlusKernel_M5_ModZ_Edit_Permissive_v27.zip
Source for it would be here: https://github.com/Myself5/android_kernel_sony_msm8994_kitakami_r2
I also send a PR for it to @AndroPlus (https://github.com/AndroPlus-org/android_kernel_sony_msm8994_kitakami_r2/pull/3)
(Ramdisk is from AndroPlus Kernel v27, with the fix below)
Oh, and because I am badass, I also fixed up USB on Stock with that Kernel.
For every Stock Kernel Developer who's intrested how I did that (looking at you @AndroPlus and @zacharias.maladroit), I simply adjusted the USB files permissions in the ramdisk.
Just add
Code:
chmod 750 /init.usbmode.sh
to the on init step inside of init.sony.usb.rc. I know it's dirty.. but hey. It surely is less dirty than my hacky App (which therefore is no longer needed BTW).
Will suzuran devices work
killedbyghost58 said:
Will suzuran devices work
Click to expand...
Click to collapse
No.
Regarding porting requests its the same as for Z5 Premium. If I don't own the device, I'm not going to port Mrom to it.
HOWEVER: For suzuran specifically, @oshmoun is working on porting MultiROM to it, based on my device trees which means MultiROM for Z5C is coming in the nearish future.
{
"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"
}
You use this tool at your own risk!!
I have tried to put as many safeguards as I can,
but I cannot be held accountable for any soft-bricks, hard-bricks, loss of data and/or information,
or anything else going wrong.
Introduction
MultiROM is one-of-a-kind multi-boot mod for HTC 10. 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 (actually the no-kexec workaround is messing with your boot sector), but it is possible that something goes wrong and you will have to flash factory images again.
Make backups. Always.
Now seriously: HTC 10 Warnings!
Beware of Dragons, Goblins, Gremlins and lingering primary_boot.img(RIP)
Due to lack of kexec-hardboot kernel support, I am messing with your boot partition!
Since we lack kernels with kexec-hardboot patch, I'm using a workaround to bypass that restriction, and although tested successfully on the HTC One M7, M8, M9, and HTC 10, as well as several other devices I'm not involved with, things can still go wrong, since I'm directly flashing your boot partition.
I have yet to see any negative effect of that, and version 4 of the no-kexec workaround is much more robust, you should still be aware that I'm "temp-flashing" your real boot partition.
If you are in doubt, either ask, or avoid it completely; MultiROM has always been a huge hack to begin with, and this is even more of a hack.
Always have a backup ready. Possibly even RUU! ... I have not had to, I have also not encountered any loss whatsoever, but better be safe!
Current problems on the HTC 10
* OTG is untested and unsupported at the moment
* exFAT partitions are not supported currently
^^ those haven't worked for quite a while, so it's not really HTC 10 specific
Encrypted devices: Your secondary ROMs do not know your device is encrypted, do not (again: do not) try to encrypt your device while booted into a secondary ROM.
Secure boot (ie require Password/Pattern/PIN on boot): Thanks to @Captain_Throwback who found out, that under certain circumstances (yet to be determined), your primary (possibly secondary as well) may loose the ability unlock your LockScreen using your Password/Pattern/PIN.
The same thing has been observed in TWRP restores, and although your password is correct and does decrypt your device, it breaks at the lockscreen for some reason.
I recommend you disable Password/Pattern/PIN on boot until / IF the issue is resolved, but in case you do find yourself in that situation, please go ahead and follow the instruction posted in the TWRP thread:
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.
Please bear in mind, that some ROMs (particularly Sense based ROMs), will take a long time to boot up, well above 10minutes, so patience!
Installation
Not supported at this time: 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
MultiROM has 3 parts (well, it should, but in this case it only has 2) you need to install:
Modified recovery (TWRP_3.x.x-x_multirom_pme_YYYYDDMM-pp.img) - download the IMG file from second post and use
TWRP itself to flash newer TWRP to recovery partition:
TWRP->Install-> select Images -> TWRP_3.x.x-x_multirom_pme_YYYYDDMM-pp.img -> to Recovery -> Reboot to Recovery
.
or
.
"fastboot flash recovery TWRP_3.x.x-x_multirom_pme_YYYYDDMM-pp.img"
(in download mode, for example)
Code:
C:ADBADB_10>adb reboot download
C:ADBADB_10>fastboot devices
FAxxxxxxxxxx fastboot
C:ADBADB_10>fastboot flash recovery TWRP_3.0.2-6_multirom_pme_20160917-02.img
target reported max download size of 800000000 bytes
sending 'recovery' (25700 KB)...
OKAY [ 2.001s]
writing 'recovery'...
(bootloader) HOSD CL#761759
(bootloader) [email protected]
(bootloader) [email protected]%
(bootloader) Update partition OK
(bootloader) [email protected]
OKAY [ 2.872s]
finished. total time: 4.878s
C:ADBADB_10>fastboot reboot-bootloader
rebooting into bootloader...
OKAY [ 0.004s]
finished. total time: 0.005s
MultiROM (multirom-YYYYMMDD-vXXd-UNOFFICIAL-pme.zip) - download the ZIP file from second post and flash it in the MultiROM Recovery.
.
.
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.
We don't have a patched kernel, so I'm using a workaround.
You current rom will not be erased by the installation.
Download links are in the third post.
Adding ROMs
1. Android
Go to recovery, enter the MultiROM section of TWRP (by clicking the icon in to top right corner) -> 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
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 the MultiROM section of TWRP (by clicking the icon in to top right corner) 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 the MultiROM section of TWRP (by clicking the icon in to top right corner) -> 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 corresponding 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.
Screenshots
Special Thanks
@Tasssadar: Original author of MultiROM.
@Captain_Throwback: For testing, giving me a hard time, and warning you guys about the secure boot (ie require Password/Pattern/PIN on boot) issue.
zhuowei: For the fake properties idea.
Source code
MultiROM - https://github.com/Tasssadar/multirom (branch master)
Modified TWRP - https://github.com/Tasssadar/Team-Win-Recovery-Project (branch master)
Device files - ....
Everything is here:
https://github.com/multirom-htc
https://github.com/nkk71
XDA:DevDB Information
MultiROM, Tool/Utility for the HTC 10
Contributors
nkk71
Version Information
Status: Stable
Current Stable Version: 33testbuild
Stable Release Date: 2016-11-15
Created 2016-09-18
Last Updated 2016-11-15
FAQ and other notes
HTC 10 - Peculiarities / Bugs
There are no kexec-hardboot kernels for the HTC 10, so you need to have the no-kexec-workaround enabled. Please refer to post 4 for details.
.
A few notes about enabled adb in MultiROM boot menu: having adb enabled in MultiROM boot menu (TWRP->MultiROM->Settings->Enable ADB) may interfere with the ROMs "connection" (MTP, etc), possibly even prevent the ROM from booting (rarely, but I've seen it happen). Since this option is usually only used for debugging, I recommend to keep this option disabled.
.
Secure boot (ie require Password/Pattern/PIN on boot): Thanks to Captain_Throwback who found out, that under certain circumstances (yet to be determined), your primary (possibly secondary as well) may loose the ability unlock your LockScreen using your Password/Pattern/PIN.
The same thing has been observed in TWRP restores, and although your password is correct and does decrypt your device, it breaks at the lockscreen for some reason.
I recommend you disable Password/Pattern/PIN on boot until / IF the issue is resolved, but in case you do find yourself in that situation, please go ahead and follow the instruction posted in the TWRP thread:
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.
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 logs from /sdcard/multirom-klogs (zip those up, before uploading). that option needs to be enabled in TWRP->MultiROM->Settings
.
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/)
Supported File Systems for secondary ROMs
Currently only the following partitions can boot secondary ROMs:
Internal Storage
.
An external sdcard, properly partitioned with an ext4 partition (see below)
Partitioning your External SD Card
Warning: You will loose all information on your external sdcard!!
There is no way of retrieving that information, so copy everything to your PC before proceeding!!
In order to make a decent assessment of the size of your ext4 partition, below is a small table of some of the ROMs I've installed to my ext4 partition:
Code:
[U][B]2.5G BeanStalk-6.20-20160905-pm[/B][/U]
1.1G BeanStalk-6.20-20160905-pm/data
1.3G BeanStalk-6.20-20160905-pm/system
[U][B]1.4G cm-13.0-20160915-UNOFFICIA[/B][/U]
396M cm-13.0-20160915-UNOFFICIA/data
960M cm-13.0-20160915-UNOFFICIA/system
[U][B]3.8G ice-2.1.1_PERFUME_UHL_M60_[/B][/U]
1.7G ice-2.1.1_PERFUME_UHL_M60_/data
2.0G ice-2.1.1_PERFUME_UHL_M60_/system
[B][U]4.0G Viper10_3.1.0[/U][/B]
1.8G Viper10_3.1.0/data
2.1G Viper10_3.1.0/system
Please bear in mind, those installs have none or very few extra downloaded apps, which would also be using the data partition; if you need a reference for comparison, you can select Backup in TWRP, which will show you the size of your current /data partition (this excludes "Internal Storage")... mine is about 8GB !
FYI: I'm using a 200GB sdcard, and have it setup with a 30GB ext4 partition... but that's just me
Step 1: Partitioning
TWRP Main Menu
-> Advanced
-> Partition SD Card
-> selected Micro SDCard
Set the EXT Size to the size of your choice
Set Swap Size to zero
Set File System to ext4
-> swipe to proceed with repartitioning
go back to the main menu.
Example Screenshots:
TWRP Main Screen
Select Advanced
Select Partition SD Card, Micro SDCard is selected, press OK
Set the EXT Size to the size of your choice
Set Swap Size to zero
Set File System to ext4
then swipe to begin
Partitioning complete
Step 2 (optional, but recommended): Changing the first partition to exFAT
The repartitioning in step 1, has formatted your card with two partitions, the first one (used by ROMs as external storage) being FAT32 formatted. Since FAT32 has certain limitations, in particular the 4GB file size limit, it's recommended to reformat it as exFAT.
TWRP
-> Wipe
-> Advanced Wipe
-> select external_sd or Micro SDCard (whichever is shown in the menu)
-> Repair or Change File System
-> Change File System
-> select exFAT
-> swipe to reformat the first partition to exFAT
Example Screenshots:
Wipe Menu, select Advanced Wipe
Advanced Wipe Menu:
select external_sd or Micro SDCard (whichever is shown in the menu)
and click Repair or Change File System
Select Change File System
Select exFAT
Swipe to reformat to exFAT
Formatting complete
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.
My secondary ROM(s) no longer boot up, after I flashed a new primary ROM / Kernel / boot.img, and the MultiROM menu (as mentioned above) no longer appears
Please issue a restorecon on the particular ROM:
TWRP -> MultiROM -> select ROM in question -> Run Restorecon
Technical explanation
Usually most init.rc scripts will run a restorecon_recursive on /data and /mnt(also cache, but that's not too important for us)
Code:
restorecon_recursive /data
restorecon_recursive /mnt
this will supposedly restore file contexts (permissions if you prefer the older term) on all your data partitions, it will however break all your secondary ROMs as their system partition actually lives there, but the "permissions" have been overwritten to make it look like just normal data.
This is also why so many Android 7 (Nougat) MultiROM people (in other threads) are having so much trouble, as the file_contexts format has changed, and that hasn't been updated for the new format yet.
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.
1. Main downloads
Modified recovery (based on TWRP): TWRP_3.0.2-6_multirom_pme_20160920-04.img
MultiROM Main ZIP: multirom-20160920-v33b-UNOFFICIAL-pme.zip
Not supported at this time MultiROM Manager Android app: Google Play or link to APK
AndroidFileHost (mirror & old versions): https://www.androidfilehost.com/?w=files&flid=114470
2. third-party kernels with kexec-hardboot patch
None exist at the moment, hence the use of the workaround.
3. Uninstaller
MultiROM uninstaller: multirom_uninstaller
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 [RECOVERY][pme] TWRP touch recovery, but it is not needed - those menus don't do anything if MultiROM is not installed.
Changelog
MultiROM Managar App:
Code:
2016-11-11 MultiROM Manager App[-debug] version
=====================
* Add support for external storage
(allows listing, manipulating, and booting secondary ROMs on external storage)
* Highlight currently running ROM first
(also disallow deletion of it)
* Show ROMs in order of location (Current, then Internal, etc.)
* Allow duplicate ROM names if on separate partition
* Fix Widget
* Support for HTC 10 (pme)
* Support for HTC One M9 (hima)
* Support for HTC One M8
* Support for HTC One M7 (m7univ)
MultiROM:
Code:
2017-10-27 MultiROM v33
=====================
* New 'System Partition Mode' ROMs ([URL="https://github.com/nkk71/multirom/commit/dfb1a294ab55374b80bb6f14c2422850610c986d"]technical details[/URL])
* Android 8.0 compatibility
* Fix sdcardfs gid derivation ([URL="https://github.com/nkk71/multirom/commit/e0b749567f4ad976a5aabcdbd944f44f9c68b399"]technical details[/URL])
* vold_decrypt (Decryption on the HTC One M9 and HTC 10)
* trampoline511 (aka trampolineMk2)
* New default icons for Android ROMs when not set in app
* Code fixes and cleanups
2016-11-15 MultiROM v33
=====================
* Preliminary support for Android 7 (Nougat)
* Add support functions for MultiROM Manager App
(allows listing, manipulating, and booting secondary ROMs on external storage)
* Update no-kexec to version 4.1
+ changes to second boot detection
+ no-kexec versioning to allow auto-updating when needed
+ code cleanup
* Reboot to recovery on failed data partition mount
(avoids potentially being stuck in bootloop)
* Add reboot to recovery button on decryption screen when in second boot
* Code fixes
MultiROM v33b
=====================
* Fix [possible] boot img truncation when used in daisy-
chaining [older] systemless SuperSU, [B][U]and[/U][/B] rebooting
directly from AROMA Installer (info to follow later)
* Fixed mr_init_devices for certain devices (better fix will follow)
* Fix the auto-boot issue to properly fall back to primary
when secondary is deleted
MultiROM v33a
=====================
* Initial port for the HTC 10 (pme)
* Updated no-kexec to version 4
* autoboot: "Use last booted ROM" now works with external ROMs
previous changelogs are in M7/M8/M9 threads
i'll consolidate at some point hopefully
Recoveries:
Code:
2017-10-27
=====================
* Fully merged with official TWRP 7.1 branch
* New 'System Partition Mode' ROMs ([URL="https://github.com/nkk71/multirom/commit/dfb1a294ab55374b80bb6f14c2422850610c986d"]technical details[/URL])
* Android 8.0 compatibility
* Auto detect possible use of legacy props
* vold_decrypt (HTC decryption on the M9 and 10)
* Install from backup using a System_Image
* libbootimg: Updated to support AnyKernel2
* Fixes for some boot.img patchers
* Block mount/unmount of secondary partitions
* Use own loop devices to avoid conflicts with other installers
* Code fixes and cleanups
2016-11-15 (33e)
=====================
* Fix restorecon for secondary ROMs
* Rebased on android-7.0 branch
* Preliminary support for Android 7 (Nougat)
* Fix no-kexec restore primary_boot.img on devices
with PIN/Pattern/Password encryption
* Fix flashing of certain gapps zip's which are
missing the updater-script file
[STRIKE]* Add warning on failed injection[/STRIKE]
* Minor code cleanup
2016-09-20 (33b)
=====================
* Fix some installer scripts using certain mount/unmount commands
* Wake up screen before starting flash (fixes AROMA installer issues)
* Changed fstab so external ext4 won't get wiped with a factory reset
2016-09-17 (33a)
=====================
* initial port for the HTC 10 (pme)
* Based on TWRP 3.0.2 android-6.0 tree & branch
* Includes official TWRP commits up to Aug 23, 2016
previous changelogs are in M7/M8/M9 threads
i'll consolidate at some point hopefully
No-kexec workaround (version 4)
As of this version you need to manually enable the no-kexec workaround.
Actually, depending on the developer, (s)he may have already enabled it. Nonetheless, you can still choose to override the settings:
Go to TWRP -> MultiROM -> Settings
and enable the No-KEXEC workaround option
once you do you'll also have the option for ADVanced settings, please see below for a detailed description, though in most cases the default should suffice.
Explanation of the no-kexec workaround advanced options
(the Info page is supposed to provide the same information as here, but I haven't added that yet)
1- Use no-kexec only when needed
This should be the default for most users, the other options are more intended for advanced uses (kernel debugging, and such).
If MultiROM detects a kexec-hardboot enabled kernel in primary slot, it will use the standard kexec method to boot the secondary. If on the other hand it does not detect that the kernel supports kexec-hardboot then it will use the workaround.
2- ... but also ask for confirmation before booting
Same as option 1 above, but in addition you will be presented with a confirmation message, if the workaround is about to be used:
3- Ask whether to kexec or use no-kexec on booting
If the kernel in primary slot does support kexec-hardboot'ing then you will be presented with a choice of which method to use
If the kernel does not support kexec-hardboot then you'll be informed as in option 2 above
4- Always force using no-kexec workaround
Forces the no-kexec workaround to be used, even if the kernel in primary slot has kexec-hardboot support
Options 2 and 3, always present the user with a GUI confirmation, whereas option 1 and 4 will act as instructed without prompting the user.
Visual feedback provided by the Booting... card
Regular kexec-hardboot boot
Booting using no-kexec-workaround
How does all this work, etc
The workaround:
MultiROM TWRP recovery works, and is able to flash ROMs to secondary
MultiROM in essence works (in particular, able to change the mount points during bootup)
what does not work is being able to use the secondary ROM's kernel (due to the lack of kexec-hardboot kernel and tools)
So how do we deal with booting any ROM if we can't use the proper kernel for the ROM?
Easy :
Upon selection of the ROM during MultiROM boot menu, we do the following:
"flash" secondary boot.img to primary partition slot
initiate a full reboot (secondary boot.img is in primary slot)
let the ROM auto-boot up on second boot
The good part:
It works.
.
Every secondary ROM has a boot.img file we can easily access to use the workaround; when you flash a ROM in MultiROM TWRP, not only are the "virtual" system, data, and cache partitions created, but also the boot.img.
The secondary ROMs' boot.img will be found /data/media/0/multirom/<name of rom>/boot.img or if it's on your external ext4 in the appropriate rom folder
We use that file and flash it to primary real boot partition and then upon second boot, the correct boot.img is in place for the correct ROM.
The bad part:
Unlike secondary ROMs, the primary ROM does not have a boot.img file... since it is the primary ROM, the boot.img should always be in the real boot partition, since MultiROM expects the primary kernel to have kexec-hardboot capability, but it does not, so I just go ahead and mess with your primary boot partition.
Since we have no "boot.img" file for the primary, my workaround makes a backup of the boot partition and names it primary_boot.img
In version 4 of the workaround, this backup is created and used only when booting a secondary ROM. When a secondary ROM is selected it's boot.img is flashed to primary slot, upon booting into the secondary ROM, the primary_boot.img is restored.
Long story short: the difference between kexec and no-kexec-workaround
Usual kexec-hardboot MultiROM
Select secondary ROM
MultiROM detects a boot.img
MultiROM reads the secondary boot.img into memory
MultiROM initiates a kexec second boot but into the secondary boot.img from above
MultiROM continues
No-kexec-workaround MultiROM
Select secondary ROM
MultiROM detects a boot.img
MultiROM flashes the secondary boot.img into the primary boot partition
MultiROM initiates a normal second boot but with the secondary boot.img in the real boot partition
MultiROM restores the primary_boot.img and continues as usual
so the difference is in point 3... whereas normal kexec'ing loads the secondary boot.img into memory and goes from there, the workaround, actually flashes it to the real primary boot partition... and continues normally from there
Devices using the no-kexec-workaround successfully
MultiROM threads for:
HTC One M7
HTC One M8
HTC One M9
.
Moto G 2015 by GtrCraft
Moto X Play by GtrCraft
OnePlus One (starting here) by KINGbabasula
OnePlus 3 by martinusbe
OnePlus X by martinusbe
Sony Xperia Z5 by Myself5
Sony Xperia L by STRYDER~007
Sony Xperia SP by Adrian DC
Xiaomi Redmi 2 by premaca
Wileyfox Swift by @beroid
.
(possibly Samsung Note 4, unsure if that was continued or not)
Others; unofficial builds? (if you are, kindly let me know, and I'll add you to the list)
reserved for @Captain_Throwback
Oops
files are in the download section, the posts need some editing, bug gonna be a bit busy tomorrow
so enjoy
Ok,ok,you will say that im noob,but i flashed both files,flash the RR ROM,but the multirom menu doesnt show and it boots me directly to primary rom
azZA_09 said:
Ok,ok,you will say that im noob,but i flashed both files,flash the RR ROM,but the multirom menu doesnt show and it boots me directly to primary rom
Click to expand...
Click to collapse
That's not a "bug report"
Please provide detailed information, and logs... BTW, I didnt add the advanced kernel logging feature "by mistake", it's so you can get "easier" logs... but if those exist, then you still need to pull a kmsg
Code:
adb pull /sys/fs/pstore/console-ramoops
No boot menu, normally means that trampoline (if it's in the above log), wasnt able to mount data... or it's not even there
nkk71 said:
That's not a "bug report"
Please provide detailed information, and logs... BTW, I didnt add the advanced kernel logging feature "by mistake", it's so you can get "easier" logs... but if those exist, then you still need to pull a kmsg
Code:
adb pull /sys/fs/pstore/console-ramoops
No boot menu, normally means that trampoline (if it's in the above log), wasnt able to mount data... or it's not even there
Click to expand...
Click to collapse
Sorry dude,Im at work atm and I think too slow ). I will provide logs tomorrow,but maybe somebosy can provide them since then. Once again,great job and im sure you will fix every problem
azZA_09 said:
Sorry dude,Im at work atm and I think too slow ). I will provide logs tomorrow,but maybe somebosy can provide them since then. Once again,great job and im sure you will fix every problem
Click to expand...
Click to collapse
open a terminal emulator on your phone, and
Code:
cat /sys/fs/pstore/console-ramoops | grep tramp
then you'll see if trampoline is even in there
nkk71 said:
open a terminal emulator on your phone, and
Code:
cat /sys/fs/pstore/console-ramoops | grep tramp
then you'll see if trampoline is even in there
Click to expand...
Click to collapse
It shows only the # after that
Download links are not working.
azZA_09 said:
It shows only the # after that
Click to expand...
Click to collapse
then probably the log is way after trampoline & multirom, so you need to enable "kernel logging"... I didnt add that by mistake
http://forum.xda-developers.com/devdb/project/?id=17079#downloads
Tab isn't showing up for me, but that link should work.
jsaxon2 said:
Download links are not working.
Click to expand...
Click to collapse
They're supposed to be here
If you can't access them, I've uploaded them to AFH as well
Got it installed and booted up cm13 as secondary. Working good so far. Thanks for this. I'm back on Viper running from primary.
jsaxon2 said:
Got it installed and booted up cm13 as secondary. Working good so far. Thanks for this. I'm back on Viper running from primary.
Click to expand...
Click to collapse
hmm is that a complaint? ... sounds rather positive, so i'm unsure. i usually only hear complaints
Well, if it's not, thanks for reporting back :good:
I currently have an old version of Viper10 as primary / daily
and as secondaries:
ice-2.1.1_PERFUME_UHL_M60_SENSE80GP_HTC_Europe_1.90.401.3
BeanStalk-6.20-20160905-pme
cm-13.0-20160915-UNOFFICIAL-pme
and some other weird stuff
nkk71 said:
hmm is that a complaint? ... sounds rather positive, so i'm unsure. i usually only hear complaints
Well, if it's not, thanks for reporting back :good:
I currently have an old version of Viper10 as primary / daily
and as secondaries:
ice-2.1.1_PERFUME_UHL_M60_SENSE80GP_HTC_Europe_1.90.401.3
cm-13.0-20160915-UNOFFICIAL-pme
and some other weird stuff
Click to expand...
Click to collapse
Lol, not a complaint, it's a compliment. You have done excellent work. Just wanted to report that it is working. I'm too tired to mess with it anymore, but awesome that I can test CM builds and get right back to my daily driver.
Job well done.
jsaxon2 said:
Lol, not a complaint, it's a compliment. You have done excellent work. Just wanted to report that it is working. I'm too tired to mess with it anymore, but awesome that I can test CM builds and get right back to my daily driver.
Job well done.
Click to expand...
Click to collapse
Thank you, I do enjoy positive feedback, Hope you enjoy it
as well as comments, thoughts and ideas.
@ all, If something is wrong, please be as descriptive as possible... please no "it doesn't work" posts.