[MOD][15-NOV-2016] MultiROM 33 + TWRP_3.0.2-6_MultiROM_Edition_2016-11-15 [TestBuild] - HTC 10 ROMs, Kernels, Recoveries, & Other Developm

{
"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.

Related

[DEV][02/May/2015]unOFFICIAL TWRP|v2.8.6.1

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"

[ROM][unofficial] HTC One X CyanogenMod 12.0 (updated 2015-02-28)

CyanogenMod is a free, community built, aftermarket firmware distribution of Android 5.0 (Lollipop), which is designed to increase performance and reliability over stock Android for your device.
Code:
#include
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/
CyanogenMod is based on the Android Open Source Project with extra contributions from many people within the Android community. All the source code for CyanogenMod is available in the CyanogenMod Github repo. And if you would like to contribute to CyanogenMod, please visit Gerrit Code Review. You can also view the Changelog for a full list of changes & features.
IMPORTANT INFORMATIONS
We will not support users and answer questions from users which:
are running a custom kernel
have flashed mods
modified system files
didn't follow our instructions word by word
are unfriendly
WIKI
Official CyanogenMod Wiki: http://wiki.cyanogenmod.org/w/Endeavoru_Info
INSTRUCTIONS
First time installing CyanogenMod 12.0 to your HTC One X (GSM), or coming from another ROM:
Read the official wiki
Read known issues and FAQs
DO A BACKUP
Unlock your device via http://www.htcdev.com if you haven't done so already
Read post #3 and flash a recovery supporting the new storage layout
DO A DATA WIPE / FACTORY RESET
Copy GApps and the CM 12.0 zip to your SD card
Boot into Recovery
Flash the CM 12.0 zip from SD card
Flash GApps for Lollipop from SD card
Flash the boot.img included in the CM 12.0 zip via Fastboot
Reboot (be patient, "optimizing apps" takes a while)
Don't restore system data using Titanium Backup!
Restoring Apps + Data might cause problems and is not recommended, avoid it if possible!
Upgrading from earlier version of CyanogenMod 12.0:
If you're coming from a pre-/data/media build read post #3
Copy the CM 12.0 zip to your SD card
Boot into Recovery
DO A BACKUP
Flash the CM 12.0 zip from SD card
Optionally flash the most recent GApps for Lollipop if you encounter problems
Flash the boot.img included in the CM 12.0 zip via Fastboot if necessary. If in doubt, flash it.
Reboot (be patient, "optimizing apps" takes a while)
Upgrading from CyanogenMod 11.0: (untested and unsupported, see FAQ below)
Read the known issues and FAQs
DO A BACKUP
Read post #3 and flash a recovery supporting the new storage layout
Copy GApps and CM 12.0 ZIP to your SDCard
Boot into Recovery
Flash the CM 12.0 zip from SD card
Flash GApps for Lollipop from SD card
Flash the boot.img included in the CM 12.0 zip via Fastboot
Reboot (be patient, "optimizing apps" takes a while)
DOWNLOADS
Recovery: See post #3
CM12.0 unofficial testing builds:
Old layout:
2014-12-17
2015-01-02
2015-01-11 (broken UMS)
2015-02-03 (fixed boot.img)
2015-02-28
New Layout (read post #3):
2015-02-14
2015-02-28
CM12.0 official stable builds: Not available
CM12.0 official nightly builds: Not available
Google Apps: https://s.basketbuild.com/filedl/gapps?dl=gapps-lp-20141109-signed.zip
CHANGELOG
http://github.com/CyanogenMod & http://www.cmxlog.com/12/#
2015-02-28
Synced with CM
Fixed an issue with some SIM cards
Fixed USB OTG
Fixed broken Wi-Fi after a soft reboot
Device encryption should work (make a backup first!)
Fixed Rezound Proximity Calibrator
2015-02-14
Uses new storage layout. Read post #3. New boot.img and a complete wipe is required!
Synced with CM
Maybe working Google Play Movies
2015-02-03
Fixed boot.img is not required but recommended.
Synced with CM
UMS situation unchanged from 2015-01-11
Included a fix to allow moving Apps to SD
Allow toggling NVIDIA smartdimmer under Settings -> Display -> Advanced settings -> Adaptive backlight (with fixed boot.img)
Allow toggling sweep2wake under Settings -> Display -> Advanced settings -> Double-tap to wake (with fixed boot.img)
Allow changing the vibrator intensity under Settings -> Sound & notification -> Other sounds -> Vibrator intensity (with fixed boot.img)
2015-01-11
Synced with CM
Default to MTP for new installations (set it to MTP manually in the storage settings when coming from an older build)
Revert some custom UMS related fixes which restores the stupid pre 2015-01-02 auto-mount behavior. DON'T UPDATE IF YOU WANT TO USE UMS
Enable multi-user UI (and guest mode)
Fix setting maximum CPU frequency
Fix signal strength
2015-01-02
Synced with CM
Fixed SD card / UMS mounting issues
Fixed tethering
Button backlight is now adjustable
Long press action for "Recents button" now available (back is still missing)
USB connection mode can now be set to MTP
2014-12-17
First testing build
KNOWN ISSUES
Roughly in order of seriousness.
Outgoing calls & mobile data might be problematic
There is currently an issue with some SIM cards (MultiSim?) that don't work properly. You are able to receive calls and SMS messages but you cannot make calls or send SMS and mobile data does not work. The cause has been identified: http://review.cyanogenmod.org/#/c/88932/
No mobile data after disabling Wi-Fi
IP routes are not updated properly (check if "ip route")
Disable and enable mobile data to work around this
Recent App switcher is broken in landscape and may cause reboots.
Workaround: Select "Disable HW overlays" in the Developer options.
Using NFC with the Smart Lock feature causes a deadlock.
No device encryption possible.
No P2P/Wi-fi Direct.
Battery stats list Wi-Fi as always turned on even though it was disabled.
Audio may be problematic with MHL.
Sense 5 camera features not available (no burst, no zero-shutter-lag, picture quality seems to be worse).
Docking stations are not properly supported
Dock speakers do not work
Select "Disable HW overlays" in the Developer options to avoid crashes
Dock drains the battery
Proximity sensor issues (screen stays black after call, hardware issue, it may not affect you).
Workaround: install Rezound Prox Sensor Calibrator and play with the PS1_CANC slider).
SD card might not be available or might be always shown as shared.
Workaround: unplug the phone from your PC.
Moving Apps to SD is broken
Tethering seems the broken
No MTP
Mobile signal display is incorrect.
Unable to change the maximum CPU frequency through the settings.
FAQ
Can I dirty flash coming from CM 11.0?
It should work.
Do I need to update the recovery?
Please read post #3.
Where are the Sweep2Wake, Button Backlight Notifications and Fast Charge Settings?
Not accessible anymore from the settings. The functionality is still in the kernel. See second post for details.
When do the nightlies start? When do upload the next version? When do you fix XYZ?
I don't know.
Device not recognized in Windows (Recovery, UMS, MTP)
Please follow the steps outlined under "Option 1" or "Option 2": http://mdmower.cmphys.com/htc-drivers-adb-recovery/
Xposed?
No.
XDA:DevDB Information
CyanogenMod 12.0, ROM for the HTC One X
Contributors
Thömy
Source Code: https://github.com/CyanogenMod/
ROM OS Version: 5.0.x Lollipop
ROM Kernel: Linux 3.1.x
Based On: AOSP
Version Information
Status: Testing
Created 2014-12-17
Last Updated 2015-02-28
Here are instructions to enable or disable some features that were previously in the advanced settings menu. Currently untested with Lollipop!
Button Backlight Notifications (enabled by default)
Button backlight notifications are enabled/disabled by settings write permissions on a special file. To disable them remove the write permission for the sysfs file with
Code:
chmod 444 /sys/class/leds/button-backlight/slow_blink
Only execute it while the lights are not currently blinking.
The newest kernel also contains the ability to limit to the notification brightness. Do
Code:
echo 1 > /sys/class/leds/button-backlight/slow_blink_brightness_limit
to limit the brightness to your normal button backlight brightness (which you can adjust in the settings).
Fast Charge (disabled by default)
Fast charging is disabled by default and can be enabled with
Code:
echo 1 > /sys/devices/platform/htc_battery/fast_charge
Sweep2Wake (disabled by default)
Code:
# Enable s2w
echo 1 > /sys/android_touch/sweep2wake
# Adjust the needed swipe length. 325 for one button (default), 500 for two buttons and 850 for three buttons
echo 500 > /sys/android_touch/s2w_min_distance
# Disable direction independent behaviour
echo 0 > /sys/android_touch/s2w_allow_stroke
Nvidia SmartDimmer (disabled by default)
Now called "Adaptive backlight". Setting was moved to the "Display & LED" menu.
All settings where you manually have to execute a command are not persisted between reboots. You can use a third party app that supports toggling the settings or you can put the commands into /data/local/userinit.sh to apply them at boot.
The New Storage Layout
To combat the space problems on Lollipop due to ART builds will be switched to the /data/media storage layout that is commonly used with newer Android devices.
The new partition layout will change our internal SD card be the /data partition. The internal SD card will also be located in this partition under /data/media. This means the 25GB can now be distributed freely between Apps, Data, Music, Picutres, Dalvik cache, ... that were previously on separate partitions. Moving apps to SD is unnecessary now.
The transition to the new layout requires a complete wipe including the SD card contents.
Advantages
Free disk space problems are largely gone because the sdcard and /data share the same place
Properly supporting UMS and supporting moving Apps to SD is getting harder and harder. This change will make both unnecessary
Disadvantages
2GB (size of the old /data partition) are “lost”
Breaks compatibility with all existing ROMs, recoveries and boot.imgs
Hopping between Sense and CM based ROMs will be nearly impossible
No more UMS, only MTP
Downloads
Recoveries using the old storage layout.
TWRP 2.8.1.0 (by teemo)
CWM
Recoveries using the new storage layout
TWRP 2.8.4.3 (by @teemo, @Thunder07)
Migration
Basic steps for switching to the new storage layout.
Flash a recovery using the new layout
Reboot to new recovery
Format /data (Wipe -> Format Data in TWRP)
Flash ROM (don't forget the boot.img)
SD Card Data Migration
This guide uses TWRP 2.8.4.x to convert your phone without losing data.
Boot into the TWRP recovery supporting the old layout
Make a backup (only /data needed)
Copy everything (including hidden folders) from the SD card to your pc
You can use UMS or MTP
This will include the backup
Reboot to fastboot and flash the new TWRP recovery using the new layout
Flash the boot.img from the ROM you are using
Reboot to new recovery
Format /data (Wipe -> Format Data)
Go back to Mount and enable MTP if it is disabled
Reboot the recovery
Restore your SD card backup to the Internal SD card
Use the “Internal Storage” device
Execute “adb shell chown -R media_rw:media_rw /data/media/0/” to fix the permissions
Restore your /data backup from the SD card
If you don’t see any backups then you might have to move /data/media/0/TWRP to /data/media/TWRP manually
Flash the new ROM
adb push and flash it or use adb sideload, it’s your choice
More Information
You'll find more information in the New Storage Layout for HOX Endeavoru thread by @teemo and in the New Storage Layout document by myself
wow....it's christmas gift from Thomy...
Thanks a lot for your great work..will test it soon.. I'm the first to see this post..
I hope i'm the first to test this Unofficial Build..
Update 1 (On 18/12/14 - 2:54 (GMT +1)):
-- Flashed the rom successfully -- No black screens, no random reboots -- Wait for atleast 5-10 minutes on the first boot, it does take a long time on the first boot, but it boots successfully, don't just rush and reboot repeatedly
----------------------------------------------------
First time I'm testing Lollipop build:
1.) yeah, the interface is really amazing, pretty smooth UI compared to Kitkat
2.) every little animation is blend to perfection
3.) You'll love the Lollipop from the initial look at Unlock screen..
What's working so far (tested till now):
Wifi, Bluetooth, GPS -- Working fine..
Apps -- almost every app worked perfectly,
Broken:
App2SD is not working-- yeah, known as many reported about it earlier.. when updating the app, it says out of storage, so the best way is to uninstall and then reinstall the app...temp solution..
As of now, it's a perfectly stable build...will update later in detail..
Haven't checked so far: Normal Phone call...I hope it's perfect too.. also i didn't check the mobile data...
Ohh can't wait :fingers-crossed:
Any screenshots?
kicikk said:
Any screenshots?
Click to expand...
Click to collapse
Added.
Wake up and see THOMY'post,it is very very wonderful day.thanks lot Thomy.
Sent from my One X using XDA Free mobile app
Thanks, will report back after a day or so of use.
Thömy said:
Added.
Click to expand...
Click to collapse
hey thomy thanks a lot for this man! You are literally rebreathing life into this phone LOL. I upgraded to an S4 in anticipation of lollipop but then it broke so im happy that there is progress for this phone!
im very tempted to install this experimental build but its been a while since ive done any flashing... i dont wanna ef anything up. Maybe ill wait for a more stable copy.... but knowing me i probably will end up flashing it.
Finally LP has arrived on HOX thanks @Thömy you are the Xman of HOX.
Downloading......
So I got the ROM installed smoothly, I was trying to install the GAPPS you provided and I got the following error log:
Installing files....
cleaning up and setting metadata...
set_metadata_recursive:some changes failed
E:Error in /sdcard/gapps-lp-20141109-signed.zip
(status 7)
Installation Aborted
Click to expand...
Click to collapse
btw while installing the ROM i got this message at the end but it said install WAS complete:
Warning: No file_contextscript succeeded: result was [0.200000]
Click to expand...
Click to collapse
do you guys know what this is for?
I am going to try redownloading the GAPPS again and try flashing it again.
EDIT: Tried it again, didnt work.
Also, the ROM is running very smoothly from what i have used so far. The cell data doesn't work? I think you should mention that in the OP but otherwise nice job looking forward to the stable releases!!
----
from some research online, its due to the recovery I have on it? I'm at CWM version
Excited / Cautious
@Thömy Thanks
I'll wait & see how things go before downloading it, I have a question about project volta? the battery optimization thing Google did for Lollipop, does it work for the HOX? my battery has seen better days
I've installed the Rom and Gapps without any issues...
PaKii94 said:
So I got the ROM installed smoothly, I was trying to install the GAPPS you provided and I got the following error log:
btw while installing the ROM i got this message at the end but it said install WAS complete:
do you guys know what this is for?
I am going to try redownloading the GAPPS again and try flashing it again.
EDIT: Tried it again, didnt work.
Also, the ROM is running very smoothly from what i have used so far. The cell data doesn't work? I think you should mention that in the OP but otherwise nice job looking forward to the stable releases!!
----
from some research online, its due to the recovery I have on it? I'm at CWM version
Click to expand...
Click to collapse
Yeah, i guess, you have to update your recovery to the latest recovery.... I have installed it without any issues in philz latest recovery..
I haven't tried using mobile data...but most of the other features and apps work without any hiccups...i must say this is way too good for unofficial build.. great work by Thomy..
Thanks for the great ROM again everything is working fine and is nice and smooth :good:
raminjpr said:
Yeah, i guess, you have to update your recovery to the latest recovery.... I have installed it without any issues in philz latest recovery..
I haven't tried using mobile data...but most of the other features and apps work without any hiccups...i must say this is way too good for unofficial build.. great work by Thomy..
Click to expand...
Click to collapse
well i updated my CWM Recovery and now reflashing the roms. wish me luck!
EDIT: completed yay time to setup and test out. Thanks again OP!
Everything seems to be working perfectly except Mobile Data.
Its amazingly beautiful and smooth Great preview we are overwhelmed.
Thanks @Thömy
Anybody tried flash it with TWRP 2.8.1. 0?does it work?
Sent from my Galaxy Nexus using XDA Free mobile app
So data is working on that build?
Nevermind, saw it's not working atm..
Tapped from another Dimension
DumbleCore said:
So data is working on that build?
Tapped from another Dimension
Click to expand...
Click to collapse
You mean Mobile data network?
Sent from my One X using XDA Free mobile app

[RECOVERY][pme] TWRP touch recovery

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.

[MOD][Z5] MultiROM v33x

{
"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.

[RECOVERY][MOD] MultiROM for Xperia X Performance

{
"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.

Categories

Resources