[Recovery][Mod][AOSP/SENSE]MultiROM V22 for Droid DNA(Unofficial Port)(Mar 16) - HTC Droid DNA

Introduction
This is a port of Tasssadar's MultiROM. MultiROM allows you to boot multiple ROMs on the same device (as well as, in theory, Linux distros, if there were any available for our device, or android-based operating systems such as Ubuntu Touch). ROMs are flashed in the modified recovery, and upon booting the phone, you have a boot menu that will allow you to choose which ROM you want to boot. You can also boot ROMs off of a USB drive connected via an OTG cable (**There are some limitations to this, keep reading for details**).
First of all, I would like to thank Tasssadar because this is 100% his work. If you enjoy MultiROM, feel free to donate to him.
MultiROM in action: http://www.youtube.com/watch?v=SCYh14Zwl3s​
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.​
Sense ROM Support
MultiROM is now able to boot Sense ROMs (as secondary only), but the process is a little more complicated. See second post for step-by-step instructions (Big thanks to vroad for figuring this out).Tested with ViperDNA 3.10 and UnSenseOne.​
Installation
Note 1: Your device must not be encrypted (hint: if you don't know what it is, then it is not encrypted).
MultiROM has 3 parts you need to install:
MultiROM (multirom-YYYYMMDD-vXX-UNOFFICIAL-dlx.zip)) - download the ZIP file from second post and flash it in recovery.
Modified recovery (recovery_mrom_YYYYMMDD.img) - download the IMG file from second post and use fastboot or an app such as FlashImageGUI or Flashify to flash it.
Patched kernel - You absolutely MUST have a kernel with the kexec-hardboot patch on the primary ROM for this to work. Look in the second post for my modified version of crpalmer's kernel that has the necesssary patch, as well as a patched stock CM11 kernel. The post will be updated accordingly for any more kernels that have the necessary patch.
You current rom will not be erased by the installation.
Download links are in the second post.​
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 and proceed with the installation.
Note: In theory, FAT32, EXT4, and NTFS partitions should all be supported. However, using a FAT32 partition resulted in a failed flash for me. I have not tried NTFS. If you want to boot off of your USB drive, I recommend putting a dedicated EXT4 partition for booting ROMs. Also, I was unable to boot off of a thumb drive without sharing a kernel with the primary ROM or using a patched kernel on the secondary ROM. So if you are going to do this, any ROM you want to boot off of the USB drive ALSO needs a patched kernel.
If you wanna use other than default FAT32 partition, just format it in PC. If you don't know how/don't know where to find out how, you probably should not try installing MultiROM.
If you are installing to NTFS or FAT32 partition, recovery asks you to set image size for all the partitions - this cannot be easilly changed afterward, so choose carefully. FAT32 is limited to maximum of 4095MB per image - it is limitation of the filesystem, I can do nothing about that.
Installation to USB drives takes a bit longer, because the flash drive is (usually) slower and it needs to create the images, so installation of Ubuntu to 4Gb image on my pretty fast USB drive takes about 20 minutes.
Enumerating USB drive can take a while in MultiROM menu, so when you press the "USB" button in MultiROM, wait a while (max. 30-45s) until it searches the USB drive. It does it by itself, no need to press something, just wait.​
Updating/changing ROMs
1. Primary ROM (Internal)
Flash ROM's ZIP file as usual, do factory reset if needed (it won't erase secondary ROMs)
Go to Advanced -> MultiROM in recovery and do Inject curr. boot sector.
2. Secondary Android ROMs
If you want to change the ROM, delete it and add new one. To update ROM, follow these steps:
Go to Advanced -> MultiROM -> List ROMs and select the ROM you want to update.
Select "Flash ZIP" and flash ROM's ZIP file.
In some cases, you might need to flash patched kernel - get coresponding patched kernel version from second post and flash it to the secondary ROM sama way you flashed ROM's ZIP file.
Explanation of recovery menus
Main menu
- Add ROM - add ROM to boot
- List ROMs - list installed ROMs and manage them
- Inject boot.img file - When you download a kernel which is distrubuted as whole boot.img, you have to use this option on it, otherwise you would lose MultiROM. (You will likely not need to use this option on the DNA)
- 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.​
Source code
MultiROM - https://github.com/Tasssadar/multirom (branch master)
Modified TWRP - https://github.com/Tasssadar/Team-Win-Recovery-Project (branch master)
my kernel with kexec-hardboot patch: https://github.com/jamiethemorris/dna-kernel/tree/5.x
kexec-hardboot patch: https://gist.github.com/jamiethemorris/8662539
​
Donate to Tasssadar:
I'd be glad if you could spare a few bucks. You can use either paypal or Bitcoins, my address is 172RccLB2ffSnJyYwjYbUD3Nx4QX3R8Ris
Thanks to all donors, it is much appreciated
Click to expand...
Click to collapse
XDA:DevDB Information
MultiROM for Droid DNA, a Tool/Utility for the HTC Droid DNA
Contributors
jamiethemorris
Version Information
Status: Stable
Created 2014-01-28
Last Updated 2014-03-16

Downloads
MultiROM Zip: http://www.androidfilehost.com/?fid=23329332407579376
Modified TWRP Recovery: http://www.androidfilehost.com/?fid=23329332407579377
My kernel w/ kexec-hardboot patch (based on crpalmer's kernel): http://forum.xda-developers.com/showthread.php?t=2627113
crpalmer's kernel w/ kexec-hardboot patch: http://forum.xda-developers.com/showthread.php?t=2559529
Stock CM11 Kernel w/ kexec-hardboot patch: http://www.androidfilehost.com/?fid=23329332407567343
Uninstaller: http://www.androidfilehost.com/?fid=23329332407579378
Mount Disabler (for Sense ROMs, see instructions below): http://www.androidfilehost.com/?fid=23329332407579371
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.​
How many ROMs can I have?/Where are the ROMs stored?
You can have as many ROMs as you can fit in your /sdcard (good thing HTC gave us a WHOPPING 16 gigs). All the ROMs are stored in /sdcard/multirom/roms or on an USB drive. This folder is unaccessible in Android, to prevent mediascanner from scanning it. You can either in recovery, or obtain root and go to /data/media/0/multirom/roms.​
Can I have different versions of Android working alongside
Yes. As long as you select "Don't share kernel" when installing the secondary ROM, the systems are separated.​
My secondary ROM doesn't boot if I share the kernel with the primary ROM.
Reinstall the secondary ROM, don't share the kernel this time, and flash the kernel you want to use to that ROM.​
How to use Sense with MultiROM
Using Sense with MultiROM is complicated for a few reasons:
-The MultiROM boot menu doesn't show up with Sense ROMs for some unknown reason.
-Most Sense ROMs can't be flashed via the MultiROM menu because they mount partitions by explicitly using the mmc block. This causes the ROM to be partially install over the primary ROM. vroad has a pretty good explanation of why this happens:
vroad said:
Some users have already reported that ROMs with certain kind of updater-script will format system/data/cache of primary ROM slot, and overwrite to them, even though they have tried to flash onto secondary slot.
This is because these updater-script mount partitions with the name of block device(such as /dev/block/mmcblk0p34), not with mount points(such as /system).
updater-script in Team Blackout's ROM doesn't have this problem.
Click to expand...
Click to collapse
-Sense ROMs also try to mount /system and /cache on boot, so the mount disabler zip is required for the ROM to boot properly.
To boot a secondary Sense ROM:
1. If you have an AOSP ROM already installed as your primary ROM, first go to Advanced > MultiROM > Swap ROMs and choose "move primary ROM to secondaries."
2. Install your Sense ROM as a primary ROM, just as you would with standard TWRP.
3. Go back to the Swap ROMs menu:
-If you had a previously installed AOSP ROM, choose "swap primary (Internal) ROM with secondary" and choose the AOSP ROM that you want to move to primary.
-Otherwise, choose "move primary ROM to secondaries"
4. Flash the Mount Disabler Zip to your secondary Sense ROM.
5. Insure that the primary AOSP ROM has a kernel with kexec-hardboot support as well as the MultiROM zip installed.
To update the secondary Sense ROM
1. Go to Advanced > MultiROM > Swap ROMs and choose " swap primary (Internal) ROM with secondary" and choose the Sense ROM you want to update.
2. Flash the ROM update to the primary ROM slot (just as you would with standard TWRP)
3. Go back to the Swap ROMs menu, and choose "swap primary (Internal) ROM with secondary" and choose the AOSP ROM that you want to move to primary.
4. Flash the Mount Disabler zip to your secondary Sense ROM.
If you do not follow these instructions properly, you will end up with a corrupted, half-Sense half-AOSP primary ROM and a secondary ROM that doesn't boot.
Kitk-Kat only. JB Sense ROMs most likely will not work.​

@jamiethemorris,
If you want to submit a pull request to my kernel for the changes (and they don't look dangerous, which I don't expect them to), I'll merge them in for you.

What do you mean by don't share the kernel?
Sent from my HTC6435LVW using Tapatalk

mr4r4n said:
What do you mean by don't share the kernel?
Sent from my HTC6435LVW using Tapatalk
Click to expand...
Click to collapse
Multi ROM has an option to share the kernel of the primary ROM with any other roms. Does that make sense? So if you have my kernel installed on the primary ROM you can let another ROM installed use it instead of having to install it separately on that ROM.
Sent from my Droid DNA using Tapatalk

crpalmer said:
@jamiethemorris,
If you want to submit a pull request to my kernel for the changes (and they don't look dangerous, which I don't expect them to), I'll merge them in for you.
Click to expand...
Click to collapse
OK cool, I'll do that. BTW do you think the patch will be drastically different when we move to msm8960 (other than the file structure being different)?
Sent from my Droid DNA using Tapatalk

jamiethemorris said:
Multi ROM has an option to share the kernel of the primary ROM with any other roms. Does that make sense? So if you have my kernel installed on the primary ROM you can let another ROM installed use it instead of having to install it separately on that ROM.
Sent from my Droid DNA using Tapatalk
Click to expand...
Click to collapse
Yes it does all the stuff given to me at the hospital may have slowed down my thought process temporarily... Lol, thanks bud
Sent from my HTC6435LVW using Tapatalk

jamiethemorris said:
OK cool, I'll do that. BTW do you think the patch will be drastically different when we move to msm8960 (other than the file structure being different)?
Sent from my Droid DNA using Tapatalk
Click to expand...
Click to collapse
It will not likely be very different, but I wouldn't worry too much about the new kernel just yet as we have at least one hard problem to solve before then. After that, adapting this patch will be simple...

androids grub 2 hs come to dna now thats awesome

crpalmer said:
It will not likely be very different, but I wouldn't worry too much about the new kernel just yet as we have at least one hard problem to solve before then. After that, adapting this patch will be simple...
Click to expand...
Click to collapse
OK. I've been wanting to learn some coding to make this stuff easier... Where would you recommend starting? I don't really have time to take a c or c++ class right now, but some tutorials online would be helpful.
EDIT: Also, how do I do a pull request for only the kexec-hardboot commit? I don't see an option for it.
Sent from my Droid DNA using Tapatalk

t1gartist said:
androids grub 2 hs come to dna now thats awesome
Click to expand...
Click to collapse
Yep, now we just need to figure out how to make the internal storage bigger lol
Sent from my Droid DNA using Tapatalk

Sense
This is pretty sick. Thanks for finally bringing this to the DNA!
Couple of things.
TAP2WAKE?:
The recovery, based on TWRP's beta, has a bit of a lag sometimes when performing operations right before the operation is complete. Giving the screen a couple taps (away from where the tiles will appear) will bring up the "Back" or "Reboot System" tiles instead of it being stuck with the twirling bar. This is not really related to MultiROM.
What is a new issue/feature with the modified recovery is that when the display timeouts, a simple press of the power button does not turn it back on. A single tap on the display does, though. It brings up the Swipe to Unlock screen. Is this intended?
SENSE:
Also, I've tried 5 different Sense ROMs. No kernel sharing of course. They all flashed "successfully", except for the complete, newest stock (failed), but none of them booted. I got a black screen after the initial HTC bootloader screen.
AOSP ROMs work great though! Have tried a couple with/without sharing the kernel. When/If Sense gets worked out, this will be a great way to quickly switch for use with an MHL adaptor for HDMI output.
THEME BOOT SELECTION SCREEN:
I do like the retro boot selection screen, but what are the possibilities of being able to theme it? Maybe even as simple/clean as a couple of custom icons on a black background for ROM selection?

rootMBX said:
This is pretty sick. Thanks for finally bringing this to the DNA!
Couple of things.
TAP2WAKE?:
The recovery, based on TWRP's beta, has a bit of a lag sometimes when performing operations right before the operation is complete. Giving the screen a couple taps (away from where the tiles will appear) will bring up the "Back" or "Reboot System" tiles instead of it being stuck with the twirling bar. This is not really related to MultiROM.
What is a new issue/feature with the modified recovery is that when the display timeouts, a simple press of the power button does not turn it back on. A single tap on the display does, though. It brings up the Swipe to Unlock screen. Is this intended?
SENSE:
Also, I've tried 5 different Sense ROMs. No kernel sharing of course. They all flashed "successfully", except for the complete, newest stock (failed), but none of them booted. I got a black screen after the initial HTC bootloader screen.
AOSP ROMs work great though! Have tried a couple with/without sharing the kernel. When/If Sense gets worked out, this will be a great way to quickly switch for use with an MHL adaptor for HDMI output.
THEME BOOT SELECTION SCREEN:
I do like the retro boot selection screen, but what are the possibilities of being able to theme it? Maybe even as simple/clean as a couple of custom icons on a black background for ROM selection?
Click to expand...
Click to collapse
I don't know if the power button thing is intended or not. I've noticed it too. I've also noticed this recovery, as well as the twrp beta, taking a really really long time to do certain things, I think it's just a shared bug...
About sense Roms, I think we're going to need to need a patched kernel for those as well. If one of our sense kernel devs doesn't get around to it than I can do it. Supposedly we also need the newest hboot also, I'm going to play around and see if I can get anything to work. If you look through the htc one multirom thread you well see that only certain configurations of dual booting sense with aosp work. That was actually the original reason I was inspired to port this to the DNA.
I don't know how to do anything with the boot menu besides just change the colors because I don't really know how any of that works.
Anyway I'm excited about these new sense Roms too and I want to dual boot them with aosp as bad as anyone else so I'll be working on it.
Sent from my Nexus 7 using Tapatalk

I just tried flashing UnSense 1.0. It flashes fine, but doesn't boot. As soon as I switched to TWRP 2.6 beta, it booted without me needing to reflash or anything. So it's detecting something about the recovery on boot that it doesn't like.
I will try doing a cm10.2 based version of it and hopefully that will solve the problem.

Can I use the twrp recovery without flashing multirom first and use it as my regular recovery? Then sometime later when I'm ready flash multirom?
Sent from my HTC6435LVW using xda app-developers app

KyJelly69 said:
Can I use the twrp recovery without flashing multirom first and use it as my regular recovery? Then sometime later when I'm ready flash multirom?
Sent from my HTC6435LVW using xda app-developers app
Click to expand...
Click to collapse
Yes, it will work the same as regular twrp if you don't flash the multirom zip.
Sent from my Nexus 7 using Tapatalk

jamiethemorris said:
I just tried flashing UnSense 1.0. It flashes fine, but doesn't boot. As soon as I switched to TWRP 2.6 beta, it booted without me needing to reflash or anything. So it's detecting something about the recovery on boot that it doesn't like.
I will try doing a cm10.2 based version of it and hopefully that will solve the problem.
Click to expand...
Click to collapse
Go Schnell, GO!

Shared Apps?
Is there or is there planned to be a feature where different ROM's can share the same user apps like MoDaCo Switch does?

Darkstar1756 said:
Is there or is there planned to be a feature where different ROM's can share the same user apps like MoDaCo Switch does?
Click to expand...
Click to collapse
Not that I know of. However, there is a modaco switch for the HTC one I think which means in theory it would be possible to port it to our device...
Sent from my Droid DNA using Tapatalk

I've made some progress with getting sense booting. I patched the 4.4 kernel and was able to get unsense to boot as a secondary ROM. What's weird is when it booted it was using all my data from my main ROM, and had messed everything up on both roms by combining the sense and aosp data. Makes absolutely no sense (pun not intended). But hey, it's progress... I'm going to contract dees_troy to ask how he built the 2.6.3.x twrp beta so that hopefully I can get this and twrp 2.7 booting sense normally
Sent from my Droid DNA using Tapatalk

Related

[DEV][BETA][PREVIEW] TWRP 2.2 Recovery for NT

Team Win Recovery Project 2.2, 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:
Tablet look:
CHANGELOG (for 2.2.0):
- On-screen keyboard in recovery! -- supports long press, backspace repeat, and swipe left deletes everything left of the cursor
- Name new backups and rename existing backups
- Rename files and folders in the file manager
- Pseudo-terminal emulator
- Support decrypting an encrypted data partition on Galaxy Nexus (enter password using keyboard)
- Backup archive splitting -- allows backup and restore of data partitions larger than 2GB
- Simplified XML layout support between resolutions
- Added dual storage selection radio buttons to zip install, backup, and restore pages
- Improved zip install compatibility
- Updated update-binary source code
- Numerous small bug fixes and improvements
DOWNLOAD:
The fastest and easiest way to install TWRP is to use the GooManager app:
Play Store Link
Direct Download
You can find more information and download links on our website!
BUGS:
If you have found a bug, please consider posting it to our github issues log. It's pretty much impossible for us to keep up with the more than 30 threads that we have for the devices that we "directly" support. If you have a significant problem that cannot be answered in this thread, your best bet is to PM me directly, contact us via our website, or find us in our IRC channel below. If you see someone that's struggling, feel free to point it out to us. We need your help to help us keep track of all of our devices! Thanks!
SUPPORT:
Live support is available via #twrp on Freenode with your IRC client or just click this link.
ORIGINAL POST (from May):
This is a work in progress.
TWRP (Team Win Recovery Project) 2.1 by TeamWin is an alternative recovery (instead of ClockworkMod) that is a good companion for Goo Manager. See this video for more info.
This is an experimental, mostly untested build of TWRP2 for entertainment purposes only. USE OR ATTEMPT TO USE ENTIRELY AT YOUR OWN RISK. It is intended for those who are willing to risk any and all damage, loss, and STD infection to their hardware, data, person, and associates resulting from this software. Do not attempt to use unless you understand and accept these risks.
Please note this is using the still-being-developed 3.x kernel.
I am including the raw .imgs which can be fastbooted or used on an SD (rename recovery.img.sdcard to recovery.img and put on SD in place of the existing version). Which I don't recommend doing of course, given the disclaimer above. Remember I don't have an NT so I haven't run this... ever.
Finally, this has not at all been put through any kind of paces. That's for you, assuming all the risks, to do. And report it back here for everyone's benefit.
Thanks to dees_troy, eyeballer and demetris_I & frustro for testing this. I'm busy the next few days, so I'm volunteering demetris_I, who has it running, to answer anyone's questions per his availability
twrp-2.1-nt-2012-05-17E-fullofbugs.tar.gz
History
6/12/12 - updated first post.. No binaries yet.. Can someone make one?
5/17 -
Updated 3.0 kernel to support new 512GB NTs (untested)
Updated twrp codebase to latest
Newer cm9 stuff as well
5/17B&C
Use cmdline from u-boot.bin to determine max ram size.
fix device showing up as "B" to "NookTablet"
5/17D&E
I can't remember. But it's betterer.
Has anyone successfully flashed this yet? And can anyone offer up the steps in a more-in-depth way?
Sent from my Team A CM9 Alpha 0.03 Nook Tablet
Well... there's always update.zip
I haven't tried it, but I'm guessing if you've installed fastboot to your computer, this should work:
1. boot into cyanoboot and choose Fastboot from the menu.
2. On your computer, navigate to where recovery.img is and enter into the terminal
fastboot flash recovery recovery.img
Or... maybe someone could whip up a quick update-twrp2-nt-2012-5-14.zip maybe?
I guess that someone might as well be me. This is intended for use with an existing cwm recovery. This will flash to emmc...maybe.
update-twrp-2.1-nt-2012-05-14-fullofbugs-emmc.zip
MD5: 337269fa77017150325d398216a6dd3c
Thoroughly and completely untested. I really don't know if it will even install, and if it does, if it will work. See all disclaimers above, plus make up some additional ones yourself.
Edit: See below about a possible issue with possible difficulties accessing the external SD card. Internal /emmc seems to work consistently. Looking into it, but if you want to help debug this, that would be much appreciated. Just knowing what works or doesn't work and log samples (dmesg via adb) would be great.
Will this completely replace CWM as the recovery? Or will it run alongside. Anything else I should be aware if before I try to flash (do it on a fresh rom install, will I be able to restore from a backup if something goes wrong etc etc...)
Sent from my Team A CM9 Alpha 0.03 Nook Tablet
It will replace cwm.
Rom doesnt matter , they reside in different partitions.
Cyanoboot is all you want if anything goes wrong or/and CWM/TWRP from sd card so you can dd the recovery.
SilentStormer said:
Will this completely replace CWM as the recovery? Or will it run alongside. Anything else I should be aware if before I try to flash (do it on a fresh rom install, will I be able to restore from a backup if something goes wrong etc etc...)
Sent from my Team A CM9 Alpha 0.03 Nook Tablet
Click to expand...
Click to collapse
Should replace it completely. I say should because if you do this with the update.zip, you will be the first one to try it.
Oh, Mister_Argent is trying it on IRC...
The Zip seems to work! Android boots fine, and it's entirely possible to get into TWRP via Cyanoboot. This might just be me, but the terminal seems to lock up...
Oh hey argent, so the zip works? And is it worth my time to change from CWM to TWRP?
Sent from my Team A CM9 Alpha 0.03 Nook Tablet
SilentStormer said:
Oh hey argent, so the zip works? And is it worth my time to change from CWM to TWRP?
Sent from my Team A CM9 Alpha 0.03 Nook Tablet
Click to expand...
Click to collapse
There may be issues with selecting the external SD card... not sure what the deal is. I believe demetris_I checked this out previously, but you can use the internal (/emmc) one though until this is worked out/confirmed one way or the other.
Note: if anyone is good at verifying/debugging, post any relavent dmesg stuff + what your theory is on the issue
So we can still flash stuff through emmc?
Sent from my Team A CM9 Alpha 0.03 Nook Tablet
Indirect gave me this command to flash recovery via terminal emulator and it worked out nicely
dd if=/recovery.img of=/dev/block/mmcblk0p3
Click to expand...
Click to collapse
where "/recovery.img" is the file path/file name of the recovery image
Recovery looks nice. I'll do some more playing with it later when I have time.
fattire said:
There may be issues with selecting the external SD card... not sure what the deal is. I believe demetris_I checked this out previously, but you can use the internal (/emmc) one though until this is worked out/confirmed one way or the other.
Note: if anyone is good at verifying/debugging, post any relavent dmesg stuff + what your theory is on the issue
Click to expand...
Click to collapse
No issues with external sd it just take some seconds to mount, is not instant but it will mount.
8gb NT. Successfully flashed internally; will test, log and provide feedback on any issues.
The zip file name is overly long and CWM doesn't like it. Renaming to something shorter solves the issue.
In my experience with other android devices, it is normally recommended you wipe 'dalvik cache' whenever changing / updating kernel. Perhaps this step will avoid some issues for people.
Edit: Flashing gapps update via Goo Manager results in failure of rom to load after Cyanoboot screen. I did not choose to wipe dalvik / cache in Goo Manager. Also unable to access Cyanoboot via N. Screen appears but does not seem to respond and automatically boots emmc (blank screen).
Re-download Gapps and press the buttons combo to access twrp/cwm and reflash (power+N)
What rom and what gapps you are using?
Make sure they are downloaded ok before flashing.
demetris_I said:
Re-download Gapps and press the buttons combo to access twrp/cwm and reflash (power+N)
What rom and what gapps you are using?
Make sure they are downloaded ok before flashing.
Click to expand...
Click to collapse
I could not access twrp as already stated, because Cyanoboot did not respond to button press. I've managed to get access to CWM via sdcard and reflashed another gapps. CM9 still will not load.
Next, I plan to wipe everything and flash CM9 anew.
Edit: Still won't boot. Looks like I have a brick to fix.
Edit2: Flashing CWM internally got everything working again. Cyanoboot would previously go automatically to loading from emmc; there was no delay / opportunity to press N to access the menu. Now the delay occurs and I have access. CM9 also loads.
Edit3: Reflashed TWRP internally again. It's not working on 8gb NT. It doesn't break Cyanoboot or prevent CM9 from loading, but any attempt to load TWRP results in a black screen.
How do you flash twrp?
If you flash the zip can you please try the fastboot way?
fastboot flash recovery twrp.img, thanks
demetris_I said:
How do you flash twrp?
If you flash the zip can you please try the fastboot way?
fastboot flash recovery twrp.img, thanks
Click to expand...
Click to collapse
I flashed the above emmc zip via cwm internal
I have adb working, however fastboot seems to require a separate driver to work in windows. I've searched the forum and have not found a clear answer.
I'm guessing the 3.0 kernel doesn't have support added for the 8gb nts yet. I guess maybe I could look into that...
Sent from my HTC Vision using XDA
So to run this I have to be running the new 3.x kernel? Or can I just flash the zip if I'm on the 2.x Cm9
(16gb Tablet)
Sent from my Team A CM9 Alpha 0.03 Nook Tablet
SilentStormer said:
So to run this I have to be running the new 3.x kernel? Or can I just flash the zip if I'm on the 2.x Cm9
(16gb Tablet)
Sent from my Team A CM9 Alpha 0.03 Nook Tablet
Click to expand...
Click to collapse
Recovery is separate from the rom. You'll be fine. I have it running on my 16GB.

[RECOVERY/M8_UL_CA] TWRP 2.7.0.4 Touch Recovery [2014-04-09]

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:
What's new in 2.7.0.0:
-Faster graphics rendering by disabling alpha blending on fully opaque objects thanks to Tassadar
-Allow sideloading from /tmp on encrypted devices
-Check for a crypto footer before asking for a password to prevent user confusion
-Additional checks for validity to auto generated backup names
-Text wrap in the console output
-Proper caps lock support in the keyboard
-Mouse support via USB OTG for devices with a broken digitizer
-Improve scanning of storage locations for OpenRecoveryScript
-Haptic feedback for buttons, keyboard, and vibration at the end of longer running actions thanks to Samer Diab
-Fixed ext4 wiping when no selinux contexts are defined for that partition (e.g. sd-ext)
-Update SuperSU to 1.93 and improve installation process
-Added selinux contexts restoration to fix permissions
-Load RTC offset on Qualcomm devices to fix the date/time in recovery
-USB Mass Storage fixes Add SELinux support checking
-Add Disk Usage class to better handle excluded folders (e.g. Google Music cache)
-Add 4.4 decrypt support
-Add some toolbox utilities to TWRP (namely to support SELinux functions not supported in busybox)
-Various SELinux fixes and bug fixes
Note: 2.7 marks the first time that we are dropping support for older devices. We are doing this because of the SELinux support needed to install 4.4 Kit Kat ROMs. The non-TWRP parts of the recovery image have to be built in at least a 4.1 tree and the kernel that is included in the recovery image has to support writing SELinux contexts. We don't own most of the devices that we support so we depend on outside testers and developers to help us update devices. In many cases we can't find someone readily. Come to #twrp on Freenode if you want to help bring your device up to date. You can tell right away if your device will support 4.4 ROMs in 2.7. Boot TWRP and press the console button (the square-ish button either in the bottom middle or upper right) to view the console output. If it doesn't say "Full SELinux support" in the console, then your device still needs some work. Help us help you.
What's new in 2.6.3.0:
Proper backup and restore of SELinux contexts (thanks to Tassadar)
Pull in some ROM information for backup name generation
Merge all recent patches from AOSP bringing TWRP up to date with Android 4.3
Add 1200x1920 theme (thanks to Tassadar)
A few other fixes and tweaks
What's new in 2.6.1.0:
Initial SELinux support (only a few devices, need testers so come by IRC if your device doesn't have it and needs it)
Initial support for f2fs file system formatting (Moto X)
Update SuperSU install for 4.3 ROMs
Fixed a permissions bug on files created during backup
Fixed a bug that caused TWRP to not wait for compressed backups to finish causing 0 byte files and md5sums to not match
Fixed decryption of encrypted data so that both TouchWiz and AOSP decryption are possible
Ignore lost+found folder during backup and size calculations
Various other minor bug fixes and tweaks
Downloadhttp://techerrata.com/browse/twrp2/m8
Huge shoutouts go specifically to
@Flemmard @bigbiff @Dees_Troy
I learned how to properly deal with DTB from these guys....
Known Issues:
No known issues anymore
No exFAT support. Need kernel source to investigate. This is only temporary. FAT32 works perfectly fine.
Random segfaults when starting actions. i.e. flashing restoring, backing up. Just makes you redo what you were trying to do. Dees_troy deems this nearly impossible to trace.
hmm wondering if this will work for the ATT variant since the DTB is variant specific usually, at least thats how it was on the G2.
Just wondering about off mode charging. Is it ok? I know there were issues with 2.7 on the m7. I was just wondering are the same issues present in the m8?
Whenever I finish flashing a ROM the screen goes off immediately, doesn't give me the chance to reboot. Doesn't seem right?
nice one thanks i can backup to ext sd now
djkinetic said:
hmm wondering if this will work for the ATT variant since the DTB is variant specific usually, at least thats how it was on the G2.
Click to expand...
Click to collapse
im using it on ATT version just fine
Ghost said:
Just wondering about off mode charging. Is it ok? I know there were issues with 2.7 on the m7. I was just wondering are the same issues present in the m8?
Click to expand...
Click to collapse
off mode charging works just fine.
guywithdesire1992 said:
Whenever I finish flashing a ROM the screen goes off immediately, doesn't give me the chance to reboot. Doesn't seem right?
Click to expand...
Click to collapse
In the second post, it talks about this.
jmz said:
im using it on ATT version just fine
off mode charging works just fine.
In the second post, it talks about this.
Click to expand...
Click to collapse
Excellent just wanted to make sure as DTB can be kind of a pain, when it comes to different variants.
djkinetic said:
Excellent just wanted to make sure as DTB can be kind of a pain, when it comes to different variants.
Click to expand...
Click to collapse
From the experimenting that has been done all the GSM DTBs are compatible with each other. And all the CDMA DTBs are compatible with each other. But not between GSM and CDMA.
Well i just tried on my m8 att variant and i get stuck at the teamwin curtain screen go figure lol
djkinetic said:
Well i just tried on my m8 att variant and i get stuck at the teamwin curtain screen go figure lol
Click to expand...
Click to collapse
Thats very odd. I have the ATT variant and using this
Try 2 things for me. Reflash but do fastboot erase cache before doing it. Then if it still doesn't work see if you have ADB when at the splash
jmz said:
Thats very odd. I have the ATT variant and using this
Try 2 things for me. Reflash but do fastboot erase cache before doing it. Then if it still doesn't work see if you have ADB when at the splash
Click to expand...
Click to collapse
i did that and it didnt work, i do have working adb which is how i was able to get back in hboot/fastboot.
Ok i was able to fix the hang, deleted my twrp theme folder and twrp settings from the other 2.6.3.3 version of twrp.
djkinetic said:
i did that and it didnt work, i do have working adb which is how i was able to get back in hboot/fastboot.
Ok i was able to fix the hang, deleted my twrp theme folder and twrp settings from the other 2.6.3.3 version of twrp.
Click to expand...
Click to collapse
ah yeah. that will do it.
should this be supporting ext sd card for rom installations? when i browse to External SD, my rom.zip isn't seen, folder looks empty.
nugzo said:
should this be supporting ext sd card for rom installations? when i browse to External SD, my rom.zip isn't seen, folder looks empty.
Click to expand...
Click to collapse
Did you check internal sd it might of saved it there
Sent from my HTC One_M8 using XDA Premium 4 mobile app
Jarheadflip said:
Did you check internal sd it might of saved it there
Sent from my HTC One_M8 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
yes i know it on my internal, i had to put it there to install it. but i would like to have my rom install files on my external and save my internal space for apps etc.
nugzo said:
yes i know it on my internal, i had to put it there to install it. but i would like to have my rom install files on my external and save my internal space for apps etc.
Click to expand...
Click to collapse
Is your sdcard in exFAT format? If so check second post
Sent from my HTC One_M8 using Tapatalk
Finally some good recovery
jmz said:
Is your sdcard in exFAT format? If so check second post
Sent from my HTC One_M8 using Tapatalk
Click to expand...
Click to collapse
I'll check. I formatted it with my phone, shouldn't that format it correctly?
Will this work with the Sprint version?

[MOD][FEB 01] MultiROM v30x

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Introduction
MultiROM is one-of-a-kind multi-boot mod for Xperia Z Ultra. It can boot any Android ROM as well as other systems like Ubuntu Touch, once they are ported to that device. Besides booting from device's internal memory, MultiROM can boot from USB drive connected to the device via OTG cable. The main part of MultiROM is a boot manager, which appears every time your device starts and lets you choose ROM to boot. You can see how it looks on the left image below and in gallery. ROMs are installed and managed via modified TWRP recovery. You can use standard ZIP files to install secondary Android ROMs and MultiROM even has its own installer system, which can be used to ship other Linux-based systems.
Features:
* Multiboot any number of Android ROMs
* Restore nandroid backup as secondary ROM
* Boot from USB drive attached via OTG cable
You can also watch a video which shows it in action.​
Warning!
It _is_ dangerous. This whole thing is basically one giant hack - none of these systems are made with multibooting in mind. It is no longer messing with data partition or boot sector, but it is possible that something goes wrong and you will have to flash factory images again. Make backups. Always.​
Installation
1. Via MultiROM Manager app
This is the easiest way to install everything MultiROM needs. Install the app and select MultiROM and recovery on the Install/Update card. If the Status card says Kernel: doesn't have kexec-hardboot patch! in red letters, you have to install also patched kernel - either select one on the Install/Update card or get some 3rd-party kernel here on XDA. You are chosing kernel for your primary ROM, not any of your (future) secondary ROMs, so select the version accordingly.
Press "Install" on the Install/Update card to start the installation.​
2. Manual installation
Firstly, there are videos on youtube. If you want, just search for "MultiROM installation" on youtube and watch those.
Note 1: Your device must not be encrypted (hint: if you don't know what it is, then it is not encrypted).
MultiROM has 3 parts you need to install:
MultiROM (multirom-vXX-DDMMYY-togari.zip) - download the ZIP file from second post and flash it in recovery.
Modified recovery (TWRP_multirom-togari.img) - download the IMG file from second post and use fastboot to flash it.
Patched kernel - You can use third-party kernels which include the patch, you can see list in the second post.
You current rom will not be erased by the installation.
Download links are in the second post.​
Adding ROMs
1. Android
Go to recovery, select Advanced -> MultiROM -> Add ROM. Select the ROM's zip file and confirm. As for the space, clean installation of a ROM after first boot (with dalvik cache generated and connected to google account) takes more or less 700MB of space.​
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 (if USB drive partitions are not showed, disconnect USB drive and try again). 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 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.
Enumerating USB drive can take a while in MultiROM menu, so when you press the "USB" button in MultiROM, wait a while (max. 30-45s) until it searches the USB drive. It does it by itself, no need to press something, just wait.​
Updating/changing ROMs
1. Primary ROM (Internal)
Flash ROM's ZIP file as usual, do factory reset if needed (it won't erase secondary ROMs)
Go to Advanced -> MultiROM in recovery and do Inject curr. boot sector.
2. Secondary Android ROMs
If you want to change the ROM, delete it and add new one. To update ROM, follow these steps:
Go to Advanced -> MultiROM -> List ROMs and select the ROM you want to update.
Select "Flash ZIP" and flash ROM's ZIP file.
Source code
MultiROM - https://github.com/XperiaMultiROM/multirom (branch master)
Modified TWRP - https://github.com/XperiaMultiROM/android_bootable_recovery (branch master)
Kexec-hardboot patch for stock Sony kernel- https://github.com/Garcia98/kernel-amami/commit/4185df7caf40ac5aa6c7fc81d4098de58f9af19f
Touch patch for MultiROM menu- https://github.com/CyanogenMod/andr...mmit/907103b43eed80bd2bef89beb957d4052311ae67​
XDA:DevDB Information
MultiROM for Xperia Z Ultra, Tool/Utility for the Sony Xperia Z Ultra
Contributors
Garcia98
Version Information
Status: No Longer Updated
Created 2015-01-18
Last Updated 2016-06-10
Downloads
1. Main downloads
MultiROM: MultiROM-v30x-180115-UNOFFICIAL-togari.zip
Modified recovery (based on TWRP): TWRP_multirom-togari_20150201-00.img
MultiROM Manager Android app: Google Play or link to APK
Kernel w/ kexec-hardboot patch (Stock 4.4.4): stock-kexec-boot.img
Kernel w/ kexec-hardboot patch (14.5.A.0.242): http://forum.xda-developers.com/showpost.php?p=60316498&postcount=131
You need to have kernel with kexec-hardboot patch only in your primary ROM!​
2. third-party kernels with kexec-hardboot patch
* Validus LP kernel
* Resurrection Remix LP kernel
Nicely ask your kernel developer to merge kexec-hardboot patch.​
3. Uninstaller
MultiROM uninstaller: MultiROM_uninstaller.zip
Flash this ZIP file to remove MultiROM from your device. It will erase all secondary ROMs. If you don't want MultiROM menus in recovery, re-flash clean TWRP, but it is not needed - those menus don't do anything if MultiROM is not installed.​
Changelog
Code:
MultiROM v30x
=====================
* Initial release
Recoveries:
Code:
01/02/2015
==========
* Disabled screen timeout.
* Added filesystems tools.
* Latest TWRP updates and changes.
21/01/2015
==========
* Fixed the installation of block images OTAs through MultiROM.
* Latest TWRP updates and changes.
18/01/2015
=====================
* Initial togari release
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.​
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.​
MultiROM recovery says it's 2.8.4. Why isn't it updated to 2.8.4.*highernumber*?
It is, it just shows wrong version.​
The menu with all the ROMs won't show up during boot, how to fix it?
Either re-flash the MultiROM zip or go to recovery, Advanced -> MultiROM -> Inject curr. boot sector.
The reason for this is that something rewrote your boot.img, which happens for example when you flash a kernel. MultiROM's boot menu is part of the boot image, so it has to be added into it again.​
Absolutely fantastic Garcia98.
Very to happy to see support for the Z Ultra.
Edit: To be clear, it does support 4.4.4 stock sony, but only with a third party kernel with the Kexec-hardboot patch?
Don't suppose you have build the stock 4.4.4 kernel with the Kexec-hardboot patch applied?
scoobydu said:
Absolutely fantastic Garcia98.
Very to happy to see support for the Z Ultra.
Edit: To be clear, it does support 4.4.4 stock sony, but only with a third party kernel with the Kexec-hardboot patch?
Don't suppose you have build the stock 4.4.4 kernel with the Kexec-hardboot patch applied?
Click to expand...
Click to collapse
If there's a custom kernel for stock ROM link me to it and I'll patch it
Wow. Awesome.
Mine say unsupported. I am using scrubber port 4.4.4 with this kernel http://forum.xda-developers.com/showthread.php?p=56411399
Can you patch this one?
Sent from my C6806_GPe using XDA Premium HD app
Garcia98 said:
If there's a custom kernel for stock ROM link me to it and I'll patch it
Click to expand...
Click to collapse
To be honest I use the stock kernel and was hoping you would be able to patch that for the latest stock rom?
Cheers
cameljockey1 said:
Wow. Awesome.
Mine say unsupported. I am using scrubber port 4.4.4 with this kernel http://forum.xda-developers.com/showthread.php?p=56411399
Can you patch this one?
Sent from my C6806_GPe using XDA Premium HD app
Click to expand...
Click to collapse
Well, I need a source built custom kernel, not just one with ramdisk modifications.
scoobydu said:
To be honest I use the stock kernel and was hoping you would be able to patch that for the latest stock rom?
Cheers
Click to expand...
Click to collapse
If in a week there's no stock kernel patched I'll try to release one
Z Ultra Google Play Edition?
@Garcia98, thanks for beating me to this! I started working on porting MultiROM to the Z Ultra GPE myself, and got as far as a kexec-hardboot-patched kernel that boots into the MultiROM menu with no touchscreen support and a non-booting TWRP recovery, likely because I used CM12 as my base instead of OmniROM. Instead of continuing to duplicate your efforts, I thought it might be simpler to ask if you would do a togari_gpe build for MultiROM/TWRP. It might be fairly easy to repack the recovery ramdisk into my CM12 boot.img myself and try to install them that way, but I'd like to see the GPE officially supported. My file hosting abilities are limited, otherwise I'd offer to do the build myself. That, and I don't have space for yet another Android build tree.
I'm going to attempt to submit a cleaned-up version of the kexec hardboot patch for every MSM8974 Xperia device I can (amami, honami, togari, togari_gpe, sirius, and possibly more) to Gerrit for inclusion in CyanogenMod. Whether said patch is ever merged is another story, but that could make things much easier for a lot of people.
gTan64 said:
@Garcia98, thanks for beating me to this! I started working on porting MultiROM to the Z Ultra GPE myself, and got as far as a kexec-hardboot-patched kernel that boots into the MultiROM menu with no touchscreen support and a non-booting TWRP recovery, likely because I used CM12 as my base instead of OmniROM. Instead of continuing to duplicate your efforts, I thought it might be simpler to ask if you would do a togari_gpe build for MultiROM/TWRP. It might be fairly easy to repack the recovery ramdisk into my CM12 boot.img myself and try to install them that way, but I'd like to see the GPE officially supported. My file hosting abilities are limited, otherwise I'd offer to do the build myself. That, and I don't have space for yet another Android build tree.
I'm going to attempt to submit a cleaned-up version of the kexec hardboot patch for every MSM8974 Xperia device I can (amami, honami, togari, togari_gpe, sirius, and possibly more) to Gerrit for inclusion in CyanogenMod. Whether said patch is ever merged is another story, but that could make things much easier for a lot of people.
Click to expand...
Click to collapse
Which are the differences between Xperia Z Ultra and Xperia Z Ultra GPE?
Garcia98 said:
Which are the differences between Xperia Z Ultra and Xperia Z Ultra GPE?
Click to expand...
Click to collapse
I don't remember where I heard this, but IIRC, the differences amount to little more than incompatible partitioning, so it may be possible to use your togari build with little more than a device check modification. EIther way, I don't think a new build using a togari_gpe Android device tree from, say, OmniROM 4.4, will be any more effort than selecting the appropriate lunch combination and waiting for it to compile. The kernel config is exactly the same on the GPE as it is on the Sony Z Ultra. I'll have to do some digging though - I set KEXEC_HB_PAGE_ADDR to 0x10000000, which is probably sub-optimal if not incorrect.
gTan64 said:
I don't remember where I heard this, but IIRC, the differences amount to little more than incompatible partitioning, so it may be possible to use your togari build with little more than a device check modification. EIther way, I don't think a new build using a togari_gpe Android device tree from, say, OmniROM 4.4, will be any more effort than selecting the appropriate lunch combination and waiting for it to compile. The kernel config is exactly the same on the GPE as it is on the Sony Z Ultra. I'll have to do some digging though - I set KEXEC_HB_PAGE_ADDR to 0x10000000, which is probably sub-optimal if not incorrect.
Click to expand...
Click to collapse
I think that if you could test if MultiROM works OK on togari GPE without any modification it would be superb as I don't find any big difference
Sent from my D5503 using XDA Free mobile app
Garcia98 said:
I think that if you could test if MultiROM works OK on togari GPE without any modification it would be superb as I don't find any big difference
Click to expand...
Click to collapse
Neither the MultiROM zip or the TWRP image will work without modification, and it should be significantly easier to build from source since at least in CyanogenMod's togari_gpe device tree, most of the code actually lives in the togari device repository, and subsequently gets inherited from togari in the makefiles. Omni has a similar setup from what I could see on GitHub. In other words, code changes on your end should very minimal, if not nonexistent - you just won't know until the build starts. If you don't do it, no worries - I will, it'll just take longer since it seems like I'll have to checkout an entire new Android build tree.
gTan64 said:
Neither the MultiROM zip or the TWRP image will work without modification, and it should be significantly easier to build from source since at least in CyanogenMod's togari_gpe device tree, most of the code actually lives in the togari device repository, and subsequently gets inherited from togari in the makefiles. Omni has a similar setup from what I could see on GitHub. In other words, code changes on your end should very minimal, if not nonexistent - you just won't know until the build starts. If you don't do it, no worries - I will, it'll just take longer since it seems like I'll have to checkout an entire new Android build tree.
Click to expand...
Click to collapse
Togari GPE device tree differs in nothing but name with togari tree, in fact it includes everything from togari tree so I'm 100% sure that this would work in ZU GPE if works in ZU
Sent from my D5503 using XDA Free mobile app
Garcia98 said:
Togari GPE device tree differs in nothing but name with togari tree, in fact it includes everything from togari tree so I'm 100% sure that this would work in ZU GPE if works in ZU
Click to expand...
Click to collapse
You're right about the device trees, and I don't see why it should require a rebuild, but repacking the recovery ramdisk from TWRP with a kernel from another boot image doesn't work, the red LED just blinks. The MultiROM zip might work with a device check modification, but I haven't checked, because TWRP is my priority.
battling to install on Validus rom
Hi,
I am trying to install this on my c6833 after doing a clean firmware flash and installing Validus Rom.
i followed the steps on OP (btw, flashing Multirom recovery file through Cyanogen recovery failed so I hotbooted Doomkernel to flash it with CWM and it worked)
however, when i fastboot flash the .img file, after that, the device doesn't boot. so i have to fastboot flash the Validus kernel again to get it to boot.
and after installing the app from playstore, a message in red says my device is not supported.
Any help would be deeply appreciated
thanks.
anybody managed to get this to work?
if so, which rom and how please.
my c6833 doesn't boot after fastboot flashing the .img file with flashtool.
don't install the recovery img. just flash validus and then multirom zip, the custom recovery will already be there. that's how i did it.
halifage said:
anybody managed to get this to work?
if so, which rom and how please.
my c6833 doesn't boot after fastboot flashing the .img file with flashtool.
Click to expand...
Click to collapse
planeinmountain said:
don't install the recovery img. just flash validus and then multirom zip, the custom recovery will already be there. that's how i did it.
Click to expand...
Click to collapse
Thanks mate
I am now on StoneUI-HD3 rom (4.4.4) with doomkernel, can i make a nandroid backup and then restore that backup as a secondary rom after flashing Validus?
Also, and lastly, can i just flash Validus from my recovery (after all the wipes of course) without flashing the rom's boot.img through flashtool ?
Thanks
you can flash validus from your current recovery no prob.
i don't know about restoring a nandroid in multirom. today is the first time i used it and i only instll cm12 nightly with it so far (which would not boot by the way).
halifage said:
Thanks mate
I am now on StoneUI-HD3 rom (4.4.4) with doomkernel, can i make a nandroid backup and then restore that backup as a secondary rom after flashing Validus?
Also, and lastly, can i just flash Validus from my recovery (after all the wipes of course) without flashing the rom's boot.img through flashtool ?
Thanks
Click to expand...
Click to collapse

[MOD][FEB 10] MultiROM v33

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Introduction
MultiROM is one-of-a-kind multi-boot mod for Nexus 6. It can boot any Android ROM as well as other systems like Ubuntu Touch, once they are ported to that device. Besides booting from device's internal memory, MultiROM can boot from USB drive connected to the device via OTG cable. The main part of MultiROM is a boot manager, which appears every time your device starts and lets you choose ROM to boot. You can see how it looks on the left image below and in gallery. ROMs are installed and managed via modified TWRP recovery. You can use standard ZIP files to install secondary Android ROMs and MultiROM even has its own installer system, which can be used to ship other Linux-based systems.
Features:
* Multiboot any number of Android ROMs
* Restore nandroid backup as secondary ROM
* Boot from USB drive attached via OTG cable
You can also watch a video which shows it in action.​
Warning!
It _is_ dangerous. This whole thing is basically one giant hack - none of these systems are made with multibooting in mind. It is no longer messing with data partition or boot sector, but it is possible that something goes wrong and you will have to flash factory images again. Make backups. Always.​
Installation
1. Via MultiROM Manager app
This is the easiest way to install everything MultiROM needs. Install the app and select MultiROM and recovery on the Install/Update card. If the Status card says Kernel: doesn't have kexec-hardboot patch! in red letters, you have to install also patched kernel - either select one on the Install/Update card or get some 3rd-party kernel here on XDA. You are chosing kernel for your primary ROM, not any of your (future) secondary ROMs, so select the version accordingly.
Press "Install" on the Install/Update card to start the installation.​
2.Manual installation
Firstly, there are videos on youtube. If you want, just search for "MultiROM installation" on youtube and watch those, big thanks to all who made them. There is also an awesome article on Linux Journal.
MultiROM has 3 parts you need to install:
MultiROM (multirom-YYYYMMDD-vXX-shamu.zip) - download the ZIP file from second post and flash it in recovery.
Modified recovery (TWRP_multirom_shamu_YYYYMMDD.img) - download the IMG file from second post and use fastboot or Flashify app to flash it.
Patched kernel - You can use either one of the stock ones in second post or third-party kernels which include the patch, you can see list in the second post. Download the ZIP file and flash it in recovery.
You current rom will not be erased by the installation.
Download links are in the second post.​
Adding ROMs
1. Android
Go to recovery, select Advanced -> MultiROM -> Add ROM. Select the ROM's zip file and confirm. As for the space, clean installation of stock 5.0 after first boot (with dalvik cache generated and connected to google account) takes about 1 GiB of space.​
Using USB drive
During installation, recovery lets you select install location. Plug in the USB drive, wait a while and press "refresh" so that it shows partitions on the USB drive. You just select the location (extX, NTFS and FAT32 partitions are supported) and proceed with the installation.
If you wanna use other than default FAT32 partition, just format it in PC. If you don't know how/don't know where to find out how, you probably should not try installing MultiROM.
If you are installing to NTFS or FAT32 partition, recovery asks you to set image size for all the partitions - this cannot be easilly changed afterward, so choose carefully. FAT32 is limited to maximum of 4095MB per image - it is limitation of the filesystem, I can do nothing about that.
Installation to USB drives takes a bit longer, because the flash drive is (usually) slower and it needs to create the images, so installation of Ubuntu to 4Gb image on my pretty fast USB drive takes about 20 minutes.
Enumerating USB drive can take a while in MultiROM menu, so when you press the "USB" button in MultiROM, wait a while (max. 30-45s) until it searches the USB drive. It does it by itself, no need to press something, just wait.​
Updating/changing ROMs
1. Primary ROM (Internal)
Flash ROM's ZIP file as usual, do factory reset if needed (it won't erase secondary ROMs)
Go to Advanced -> MultiROM in recovery and do Inject curr. boot sector.
2. Secondary Android ROMs
If you want to change the ROM, delete it and add new one. To update ROM, follow these steps:
Go to Advanced -> MultiROM -> List ROMs and select the ROM you want to update.
Select "Flash ZIP" and flash ROM's ZIP file.
Source code
MultiROM - https://github.com/Tasssadar/multirom/tree/master (branch master)
Modified TWRP - https://github.com/Tasssadar/Team-Win-Recovery-Project (branch master)
Kernel w/ kexec-hardboot patch - https://github.com/Tasssadar/androi...ree/android-msm-shamu-3.10-lollipop-mr1-kexec​
Donations
I'd be glad if you could spare a few bucks. You can use either paypal or Bitcoins, my address is 172RccLB2ffSnJyYwjYbUD3Nx4QX3R8Ris
Thanks to all donors, it is much appreciated ​
Downloads
1. Main downloads
MultiROM: multirom-20160207-v33-shamu.zip
Modified recovery (based on TWRP): TWRP_multirom_shamu_20160210.img
MultiROM Manager Android app: Google Play or link to APK
Kernel w/ kexec-hardboot patch (Stock 5.0 and 5.0.1): kernel_kexec_shamu_500.zip
Kernel w/ kexec-hardboot patch (Stock 5.1): kernel_kexec_shamu_510.zip
Kernel w/ kexec-hardboot patch (Stock 5.1.1): kernel_kexec_shamu_511-2.zip
Kernel w/ kexec-hardboot patch (Stock 6.0 and 6.0.1): kernel_kexec_shamu_601.zip
Kernel w/ kexec-hardboot patch (CM 12.0): kernel_kexec_shamu_cm12-02-50134cb9df.zip
Kernel w/ kexec-hardboot patch (CM 12.1): kernel_kexec_shamu_cm121-01-8f9e2418f2.zip
Kernel w/ kexec-hardboot patch (CM 13.0): kernel_kexec_shamu_cm13-01-677c36b09.zip
You need to have kernel with kexec-hardboot patch only in your primary ROM!
Mirror: http://d-h.st/users/tassadar​
2. third-party kernels with kexec-hardboot patch
Nicely ask your kernel developer to merge kexec-hardboot patch.​
3. Uninstaller
MultiROM uninstaller: multirom_uninstaller-shamu.zip
Flash this ZIP file to remove MultiROM from your device. It will erase all secondary ROMs. If you don't want MultiROM menus in recovery, re-flash clean TWRP, but it is not needed - those menus don't do anything if MultiROM is not installed.​
4. Flashable factory images ZIPs
I usually release flashable ZIP files based on new factory images from Google, so that you can have clean stock ROM as a secondary system in MultiROM. They are not rooted, no anything, except for occasional small tweaks to make rooting with SuperSU possible. You can find them in this folder on basketbuild or dev-host.​
Changelog
Code:
MultiROM v33
=====================
* Updates for Android 6.0 compatibility
MultiROM v32b
=====================
* Add support for Android M preview (MPZ44Q). SuperSU 2.46 doesn't work on M
and breaks boot - don't flash it!
MultiROM v32a
=====================
* Fix pattern encryption password incorrectly reporting "invalid password"
when the pattern overlaps itself
MultiROM v32
=====================
* First stable release for shamu
Recoveries:
Code:
10.2.2016
=====================
* Fix ZIP selector being set to wrong storage after flashing ZIP to a
secondary ROM
9.2.2016
=====================
* Fix confusing "Unable to mount..." error message
* Fix flashing of some kernels into secondary ROMs (e.g. Elite kernel)
6.2.2016
=====================
* Update to TWRP 3.0.0 (big thanks to nkk71 for doing most of the work)
* Use Material theme made by z31s1g - thanks!
* Fixes for 6.0 compatibility
* Fixes for SuperSU compatibility. Use BETA 2.67-20160203160253 (
[url]http://bit.ly/m_su[/url] ) or newer!
30.6.2015
=====================
* Update to TWRP 2.8.7
* Add option to duplicate secondary ROM into "Swap ROMs" section
6.4.2015
=====================
* First stable release for shamu
FAQ and other notes
Device encryption
Since v32, MultiROM supports encryption on this device (it has to be added for each device separately). It works only with Android-based secondary ROMs and the secondary ROMs don't know the device is encrypted, so they would allow you to encrypt the device again - do not do that. If you're using password, pin or pattern for the encryption, MultiROM will ask you for the password on boot. If you're booting the primary ROM, then Android will ask you for the password _again_ - unfortunately, there is no way for me to pass the "unencrypted" status to Android. If you're booting secondary ROM, MultiROM will ask you for the password again after the reboot - that's because I have to unencrypt the /data partition after the ROM's kernel is loaded.
I could omit the second password prompt when booting secondary ROM by temporarily saving the password somewhere, but that's obviously unsafe. So is using encryption with unlocked device though, so I might add this later.​
About security
In order to make multi-booting possible, MultiROM has to sacrifice some security measures. Firstly, on secondary Android ROMs, /system is not mounted read-only. While there are other things preventing malicious software from messing with /system, this might potentialy make it easier for such software to attack that system.​
What do the ROMs share?
All ROMs are separate, except /sdcard, which is shared between all Android ROMs.​
How many ROMs can I have?/Where are the ROMs stored?
You can have as many ROMs as you can fit in your /sdcard. All the ROMs are stored in /sdcard/multirom/roms or on an USB drive. This folder is unaccessible in Android, to prevent mediascanner from scanning it. You can either in recovery, or obtain root and go to /data/media/0/multirom/roms.​
Can I have different versions of Android working alongside
Yes. As long as you select "Don't shere kernel" when installing the secondary ROM, the systems are separated.​
MultiROM recovery says it's 2.6.3.0. Why isn't it updated to 2.6.3.*highernumber*?
It is, it just shows wrong version.​
The menu with all the ROMs won't show up during boot, how to fix it?
Either re-flash the MultiROM zip or go to recovery, Advanced -> MultiROM -> Inject curr. boot sector.
The reason for this is that something rewrote your boot.img, which happens for example when you flash a kernel. MultiROM's boot menu is part of the boot image, so it has to be added into it again.​
Will you port MultiROM to device X?
No, probably. I won't port MultiROM to any device I don't own, because it is very difficult to provide the level of support I want to provide if I can't test things myself, as proven by the Nexus 4 port. I'd like to support more devices, but it is also very unsatisfying to work on code for device I don't have - I invest hours upon hours of time for free into it, and then I can't even see it running on the device, so...why..bother..?
I'll probably keep buying Nexus devices and keep porting MultiROM to those myself, but I can't buy every single device - I'm still a student, all my existing devices were bought using some kind of money grant or donations from users.
But, you can port it yourself, the wiki should give you at least some idea how to do that: https://github.com/Tasssadar/multirom/wiki/Porting-MultiROM​
At last, multirom is official for nexus 6!
Congrads Tasssadar!
Been testing this since its release. Always been awesome! Thanks Tasssadar. Been using MultiROM for awhile now.
So glad to see this finally get a thread. So thankful for your work Tasssadar. Innovative as well as functional, love it!
I've been waiting until our device got a thread to ask this question, anyone who knows, feel free to answer - Some ROMs require a wipe of /system in order to boot. I believe I understand the flashing instructions as I have read them numerous times - you factory data reset to clean flash, wipe cache to dirty flash. How would one boot a ROM that requires a wipe of /system into a secondary ROM slot? Or for those users who mess with a lot of /system stuff and like to wipe on every flash, is there a way to do this for secondary ROMs that I simply missed? Or should something about the way MultiROM is structured, i.e. "All ROMs are separate" from the FAQ, eliminate issues in terms of needing to wipe /system for secondary ROMs? I figure I would rather ask a question I don't need to than find out the hard way given this is not standard flashing and thus not inherently obvious.
Nice work, like with your previous Versions. This will be awesome to use especially with the 64GB variant!
Amazing work. Thanks for all of it. Hope you got your N6 RMA back!
@tassadar
I had this problem with the test releases also, but decided to keep it to myself since it was a test release, but the "key press to launch multirom" option in TWRP doesn't work. We obviously can't use volume down because that boots you into the bootloader, I've tried holding volume up while the phone is off and then pressing the power button, but it just continues to boot my rom.
brando56894 said:
@tassadar
I had this problem with the test releases also, but decided to keep it to myself since it was a test release, but the "key press to launch multirom" option in TWRP doesn't work. We obviously can't use volume down because that boots you into the bootloader, I've tried holding volume up while the phone is off and then pressing the power button, but it just continues to boot my rom.
Click to expand...
Click to collapse
That's exactly what testing releases are for - finding bugs and fixing them. Next time you spot something like that, report it right away, otherwise I might not even know about the problem
But somebody else reported the key-based autoboot not working, and unfortunately, on shamu, there is no way to tell if a key has been pressed before the kernel has booted up. I could add a short period of time when you could press the key and it would work, but then it would be the same as time-based autoboot. I will hide that option in next recovery release, so it doesn't mislead people.
Awesome work :good:
I'm waiting for miui / any other good custom ROM port for nexus 6
Atm we have only cm12 /stock based roms :3 .
Anyway thanks for bringing this to n6 :good:
Been running this a week or so works great for me, love being able to have a main rom and test out a bunch as a secondary.
Encryption on CM12?
Anyone else having trouble with encryption?
I had CM12 installed before today working fine with a pattern required on boot. Installed multirom, now I'm stuck at Multirom's pattern prompt, when I enter my pattern I get "Invalid Password" Wiped the device, including internal storage and reinstalled CM. Set a pattern again and it's stuck at the pattern prompt again.
So I'm gathering that if I want to run a ROM off a USB drive, I can format it to extX and then let the image size grow (or shrink) as needed, whereas if I use a drive formatted NTFS or Fat32 I have to decide up front the image sizes.
Did I get that right?
Following
YES!
Thank you Tass!!!
Quick questions: Would flashing kernels and other things normally be installed in the primary rom without any added steps? What about changing/updating the primary rom? Would wiping the phone wipe the primary rom only or all roms? Thanks
katyl said:
Anyone else having trouble with encryption?
I had CM12 installed before today working fine with a pattern required on boot. Installed multirom, now I'm stuck at Multirom's pattern prompt, when I enter my pattern I get "Invalid Password" Wiped the device, including internal storage and reinstalled CM. Set a pattern again and it's stuck at the pattern prompt again.
Click to expand...
Click to collapse
Ups, I forgot to fix it in MultiROM (had the same bug in TWRP's pattern entry, it's was fixed there but I forgot to do the same in MultiROM). Fixed in v32a.
demlv said:
So I'm gathering that if I want to run a ROM off a USB drive, I can format it to extX and then let the image size grow (or shrink) as needed, whereas if I use a drive formatted NTFS or Fat32 I have to decide up front the image sizes.
Did I get that right?
Click to expand...
Click to collapse
That's right.
C00lBeanz said:
Quick questions: Would flashing kernels and other things normally be installed in the primary rom without any added steps? What about changing/updating the primary rom? Would wiping the phone wipe the primary rom only or all roms? Thanks
Click to expand...
Click to collapse
Yes, just flash it as usual (in recovery, if you use fastboot to flash whole boot.img from some kernel, you'll have to flash MultiROM ZIP again or go to "Advanced->MultiROM->Inject curr. boot sector". Wiping your phone (if you mean going to "Wipe" and swiping the slider at the bottom for "factory reset") will wipe only primary ROM's data (it leaves /sdcard intact, and that's where the secondary ROMs are).
Tasssadar said:
That's exactly what testing releases are for - finding bugs and fixing them. Next time you spot something like that, report it right away, otherwise I might not even know about the problem
But somebody else reported the key-based autoboot not working, and unfortunately, on shamu, there is no way to tell if a key has been pressed before the kernel has booted up. I could add a short period of time when you could press the key and it would work, but then it would be the same as time-based autoboot. I will hide that option in next recovery release, so it doesn't mislead people.
Click to expand...
Click to collapse
Haha this is true! I just assumed you couldn't fix it if you didn't have a working N6, also don't remove that option because I don't know if you changed anything or not relating to that yet but I just saw an update in MRM and flashed it and now I can hold volume up to boot into MultiROM!!
Wow nice feature for N6! Are you planning to support more devices? E.g. Exynos Galaxy S III LTE? That would be awesome!

[MOD][15-NOV-2016] MultiROM 33 + TWRP_3.0.2-0_MultiROM_Edition_2016-11-15 [TestBuild]

{
"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"
}
PREFACE
I've had this running for quite a while, but due to the amount of time I can dedicate to coding and testing, I've come to the conclusion of sharing it, even if it is not as ready as I would like it to be, and more changes are already on the way.
This is a beta version, so please treat it as such, and have your backup handy.​Seeing the no-kexec workaround has been in use for quite a while, and also being used on other devices successfully, I consider it a stable release.​
I also ask you to read every single word in the thread (well at least the first four posts), as I continue to elaborate on them.
As a community, it's easier to track down bugs, misbehaviours, etc. when working as a team, so your feedback will be greatly appreciated, but I kindly ask you to be very specific, every little detail counts, and the "it doesn't work" posts will not be taken into account.
Thank you for your understanding.​
For your information, I have successfully tested and multi-booted:
ViperOneM9 3.5.0 (in primary)
MaximusHD 6.0.0 (directly to secondary)
ViperOneM9 3.5.0 (directly to secondary)
CM-13.0-20151210-NIGHLTY (directly to secondary)
Slim-himaul-5.1.1.beta (directly to secondary)
Notes:
* the supposedly "corrupted/inaccessible" external sdcard on Android 6 (Marshmallow) is not multirom related afaik.
* some of these ROMs take a long time to boot up, well above 10minutes, so patience​
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 One M9 (hima). It can boot any Android ROM as well as other systems like Ubuntu Touch, Plasma Active, Bohdi Linux or WebOS port. Besides booting from device's internal memory, MultiROM can boot from USB drive connected to the device via OTG cable. The main part of MultiROM is a boot manager, which appears every time your device starts and lets you choose ROM to boot. You can see how it looks on the left image below and in gallery. ROMs are installed and managed via modified TWRP recovery. You can use standard ZIP files to install secondary Android ROMs, daily prebuilt image files to install Ubuntu Touch and MultiROM even has its own installer system, which can be used to ship other Linux-based systems.
Features:
* Multiboot any number of Android ROMs
* Restore nandroid backup as secondary ROM
* Use for example Ubuntu Touch or Desktop alongside with Android, without the need of device formatting
* Boot from USB drive attached via OTG cable
​
Warning!
It _is_ dangerous. This whole thing is basically one giant hack - none of these systems are made with multibooting in mind. It is messing with boot sector and data partition. It is no longer messing with data partition or boot sector, but it is possible that something goes wrong and you will have to flash factory images again. Make backups. Always.​
Now seriously: Warning!
Beware of Dragons, Goblins, Gremlins and lingering primary_boot.img​Due to lack of kexec-hardboot kernel support, I am messing with your boot partition!​
Since we lack kernels with kexec-hardboot patch on the M9, I'm using a workaround to bypass that restriction, and although tested successfully on the HTC One M7, HTC One M8 and HTC One M9, there are still several circumstances where things can go wrong.
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.
If you do get stuck [trying to (re)boot to primary] (i.e. starring at the boot animation, for a very long time) it is likely you have a lingering primary_boot.img (a gremlin), your primary ROM, should in fact be intact, but the workaround has "confused" the primary kernel, and has an incompatible one being used.
This is usually easily fixable by just restoring your "boot.img" from within TWRP->Restore.... there should be no need to restore everything else.
Please bear in mind, that some ROMs (particularly Sense based ROMs), can 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
Note 1: Your device must not be encrypted (hint: if you don't know what it is, then it is not encrypted).
MultiROM has 3 parts (well, it should, but in this case it only has 2) you need to install:
Modified recovery (TWRP_multirom-YYYYMMDD-vXX-UNOFFICIAL-hima.img) - download the IMG file from second post and use
"fastboot flash recovery TWRP-multirom-20151210-v32a-beta1-UNOFFICIAL-hima.img"
(in download mode, for example)
Code:
C:ADB>fastboot flash recovery TWRP-multirom-20151210-v32a-beta1-UNOFFICIAL-hima.img"
target reported max download size of 800000000 bytes
sending 'recovery' (40248 KB)...
OKAY [ 2.883s]
writing 'recovery'...
(bootloader) HOSD CL#576582
(bootloader) [email protected]
(bootloader) [email protected]%
(bootloader) Update partition OK
(bootloader) [email protected]
OKAY [ 3.475s]
finished. total time: 6.359s
C:ADB>fastboot reboot-bootloader
rebooting into bootloader...
OKAY [ 0.003s]
finished. total time: 0.003s
MultiROM (multirom-YYYYMMDD-vXX-UNOFFICIAL-hima.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 second post.​
Adding ROMs
1. Android
Go to recovery, select Advanced -> MultiROM -> Add ROM. Select the ROM's zip file and confirm. As for the space, clean installation of stock 4.2 after first boot (with dalvik cache generated and connected to google account) takes 676mb of space.​
2. Ubuntu Touch this is NOT SUPPORTED
Use the MultiROM Manager app to install Ubuntu Touch.
Ubuntu Touch is in development - MultiROM will have to be updated to keep up with future changes in Ubuntu, so there's a good chance this method stops working after a while and I'll have to fix it.
Using USB drive
During installation, recovery lets you select install location. Plug in the USB drive, wait a while and press "refresh" so that it shows partitions on the USB drive. You just select the location (extX, NTFS and FAT32 partitions are supported) and proceed with the installation.
If you wanna use other than default FAT32 partition, just format it in PC. If you don't know how/don't know where to find out how, you probably should not try installing MultiROM.
If you are installing to NTFS or FAT32 partition, recovery asks you to set image size for all the partitions - this cannot be easilly changed afterward, so choose carefully. FAT32 is limited to maximum of 4095MB per image - it is limitation of the filesystem, I can do nothing about that.
Installation to USB drives takes a bit longer, because the flash drive is (usually) slower and it needs to create the images, so installation of Ubuntu to 4Gb image on my pretty fast USB drive takes about 20 minutes.
Enumerating USB drive can take a while in MultiROM menu, so when you press the "USB" button in MultiROM, wait a while (max. 30-45s) until it searches the USB drive. It does it by itself, no need to press something, just wait.​
Updating/changing ROMs
1. Primary ROM (Internal)
Flash ROM's ZIP file as usual, do factory reset if needed (it won't erase secondary ROMs)
Go to Advanced -> MultiROM in recovery and do Inject curr. boot sector.
2. Secondary Android ROMs
If you want to change the ROM, delete it and add new one. To update ROM, follow these steps:
Go to Advanced -> MultiROM -> List ROMs and select the ROM you want to update.
Select "Flash ZIP" and flash ROM's ZIP file.
In some cases, you might need to flash patched kernel - get coresponding patched kernel version from second post and flash it to the secondary ROM sama way you flashed ROM's ZIP file.
Explanation of recovery menus
Main menu
- Add ROM - add ROM to boot
- List ROMs - list installed ROMs and manage them
- Inject boot.img file - When you download for example kernel, which is distrubuted as whole boot.img (eg. franco kernel), you have to use this option on it, otherwise you would lose MultiROM.
- Inject curr. boot sector - Use this option if MultiROM does not show up on boot, for example after kernel installation.
- Settings - well, settings.
Manage ROM
- Rename, delete - I believe these are obvious
- Flash ZIP (only Android ROMs) - flash ZIP to the ROM, for example gapps
- Add/replace boot.img - replaces boot.img used by this ROM, this is more like developer option.
- Re-patch init - this is available only for ubuntu. Use it when ubuntu cannot find root partition, ie. after apt-get upgrade which changed the init script.​
Screenshots here
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 One (M9)
Contributors
nkk71, Captain_Throwback
Version Information
Status: Stable
Current Stable Version: 33testbuild
Stable Release Date: 2016-11-15
Created 2015-12-10
Last Updated 2016-11-15
FAQ and other notes
HTC One M9 - Peculiarities / Bugs
There are no kexec-hardboot kernels for the M9, so you need to enable the no-kexec-workaround. Please refer to post 4 for details.
Deprecated info (used to be a problem in v1 of the workaround)
Potential problems resulting in lingering primary_boot.img:
* Reboot from secondary to recovery, flash new primary ROM/kernel (this may be fixable in inject.c, but my first attempt had unexpected results)
* Reboot from secondary, then fastboot flash boot boot.img
* While in secondary, use an app (MultiROM, Flashify, etc), which dd's the boot.img
* Others??
In short, do NOT try to mess/flash/etc your primary kernel if the last ROM you had booted was a secondary. ... this will result in a "lingering" primary_boot.img
.
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.
.
Something not working, or you need help debugging
Please provide the following information:
a detailed explanation of the problem
.
the recovery.log (found in /tmp/recovery.log or by copying it to the sdcard and then copying it to PC)
.
the link to the thread and name of file (+ which version) you are having problems with
.
due to the large size of some of these ROMs, I may not have time to download and test them, so please also upload the updater-script (found in ROM.ZIP under /META-INF/com/google/android/)
Device encryption
Since v32, MultiROM supports encryption on this device (it has to be added for each device separately). It works only with Android-based secondary ROMs and the secondary ROMs don't know the device is encrypted, so they would allow you to encrypt the device again - do not do that. If you're using password, pin or pattern for the encryption, MultiROM will ask you for the password on boot. If you're booting the primary ROM, then Android will ask you for the password _again_ - unfortunately, there is no way for me to pass the "unencrypted" status to Android. If you're booting secondary ROM, MultiROM will ask you for the password again after the reboot - that's because I have to unencrypt the /data partition after the ROM's kernel is loaded.
I could omit the second password prompt when booting secondary ROM by temporarily saving the password somewhere, but that's obviously unsafe. So is using encryption with unlocked device though, so I might add this later.​About security
In order to make multi-booting possible, MultiROM has to sacrifice some security measures. Firstly, on secondary Android ROMs, /system is not mounted read-only. While there are other things preventing malicious software from messing with /system, this might potentialy make it easier for such software to attack that system.​
What do the ROMs share?
All ROMs are separate, except /sdcard, which is shared between all Android ROMs.​
How many ROMs can I have?/Where are the ROMs stored?
You can have as many ROMs as you can fit in your /sdcard. All the ROMs are stored in /sdcard/multirom/roms or on an USB drive. This folder is unaccessible in Android, to prevent mediascanner from scanning it. You can either in recovery, or obtain root and go to /data/media/0/multirom/roms.​
The menu with all the ROMs won't show up during boot, how to fix it?
Either re-flash the MultiROM zip or go to recovery, Advanced -> MultiROM -> Inject curr. boot sector.
The reason for this is that something rewrote your boot.img, which happens for example when you flash a kernel. MultiROM's boot menu is part of the boot image, so it has to be added into it again.​
Downloads
Current Test Builds
All Current Test Builds can be found on androidfilehost under MultiROM TEST BUILDS
You should be using these, not the ones mentioned below!
Definition of Test Builds: These are stable builds which I have and am using (and testing). They contain the most up to date fixes as mentioned in the changelog under <tba>.
The main reason I'm calling them "Test Builds", is because they have not gone through extensive testing as what I would usually do for a "release version". I think most people would call them release versions, but I tend to be more conservative.
.
The second reason, they get uploaded to AFH instead of directly here, is two fold:
I'm maintaining the M7, M8, M9 and HTC 10 MultiROM versions, and uploading to AFH is easier and faster for me.
Updating the actual threads and posts, is too time consuming every time I want to push an update.
Changelog and NO_KEXEC 4.1 Information can be found in the HTC 10 MultiROM thread.
​
1. Main downloads
Modified recovery (based on TWRP): TWRP_3.0.2-0_multirom_hima_20160723-01.img
MultiROM Main ZIP: multirom-20160723-v33d-UNOFFICIAL-hima.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=45256
Installation Note: if you were using the previous no-kexec workaround, please reboot to primary ROM first (to get rid of legacy files), then flash TWRP and multirom​
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-20160424-v33c-UNOFFICIAL-hima.zip
Flash this ZIP file to remove MultiROM from your device. It will erase all secondary ROMs. If you don't want MultiROM menus in recovery, re-flash [RECOVERY][Hima] TWRP touch recovery, but it is not needed - those menus don't do anything if MultiROM is not installed.​
Changelog
Code:
MultiROM v33d
=====================
* Fix MultiROM Boot Menu touchscreen for Sprint
* Fix MultiROM Boot Menu boot to recovery & bootloader
MultiROM v33b
=====================
* Updates for Android 6.0 compatibility
* New kernel logging + history (needs to be enabled in TWRP)
* Added no kexec-hardboot workaround version 2
[I][B](needs to be enabled in TWRP)[/B][/I]
MultiROM v32a-beta1
=======================
* initial port for HTC One M9 (hima)
[B]* Note: encryption not supported at this time[/B]
Recoveries:
Code:
2016-07-23 (33d)
=====================
* Rebased on android-6.0 tree
- fixes TWRP progress bar
* Includes official TWRP commits up to Jun 9, 2016
* Add support for package_extract_file("system.img", <block device>)
2016-04-19 (33c)
=====================
* Fixed external sdcard ext4 partition flashing
[I]Note: booting from OTG may be broken[/I] :(
2016-04-17 (33b)
=====================
* Rebase to TWRP 3.0.2
* Use new stock theme made by z31s1g - thanks!!!
* New partition selector
* Fix ZIP selector being set to wrong storage after flashing ZIP to a
secondary ROM
* Fixes for 6.0 compatibility
* Fixes for SuperSU compatibility. Use BETA 2.67-20160203160253 (
[URL="http://bit.ly/m_su"]http://bit.ly/m_su[/URL] ) or newer!
* Fixes for several installer scripts using non-conventional methods
when installing systemless root
* Fix inject multriom checkmark not showing on startup
* New option to enable kernel logging + history for multirom
* New advanced options for no kexec-hardboot workaround version 2
[I](yes the Info page is missing)[/I]
[I]refer to [URL="http://forum.xda-developers.com/showthread.php?p=64248526&postcount=4"]post 4[/URL] for detailed info[/I]
* Add progress tracking in multirom 'restore' install
2015-12-11 (32a-beta02)
=======================
* fixed access to ext4 partition on external sdcard
2015-12-10 (32a-beta1)
=======================
* initial port for HTC One M9 (hima)
Enabling no-kexec workaround
As of this version you need to manually enable the no-kexec workaround.
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
Booting into primary, while the previous rom was using the no-kexec-workaround
(in which case the real primary needs to be restored first)
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.... has been for quite some time, but I kinda kept it hidden
.
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:
Note: the below needs to be revised as the "lingering primary_boot.img" is no longer an issue, however to do my affection for it, I can't just delete all references to it
What we (yes, we) have come to affectionately call the "lingering primary_boot.img" this should now be taken care of, as much as possible
.
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 kernel and names it primary_boot.img
This backup is created and/or used only under certain situations, for example (this is not an exhaustive list):
the last ROM was primary, and we want to boot a secondary ---> backup the primary boot.img, flash secondary one
.
the last ROM was secondary, and we're booting another secondary ---> just flash the secondary boot.img
.
the last ROM was secondary, and want to boot the primary ROM --> restore the primary_boot.img we backed up
.
^^ and here lies the problem, we cannot actually say if the backup we created is actually correct for the primary ROM.... ideally it is, but there are easy ways to break that UPDATE: not so easy to break it all, anymore
one very simple example (as mentioned in the FAQs) would be:
==> Reboot from secondary to recovery, flash new primary ROM/kernel ---> the backup of primary_boot.img will still be there, MultiROM will still think the last ROM was a secondary, and therefore restore the backup; which will result in a non-booting primary ROM since the backed up kernel doesnt actually belong to this ROM
this is what I call a "lingering primary_boot.img"
this is just one simple example, but it can happen for a variety of reasons... interrupted boots, some app/method flashed a new kernel, etc.
The solution for the "lingering primary_boot.img":
Delete (if it's there): /data/media/0/multirom/last_rom_was_2nd no longer used
[*]Delete (if it's there): /data/media/0/multirom/primary_boot.img
Reflash or restore the correct boot.img for your primary ROM
New safe guards to avoid a "lingering primary_boot.img":
TWRP will restore the primary boot.img when entering recovery
MultiROM identifies whether the boot.img currently in primary slot is secondary, by checking the boot.img itself;
it no longer relies on a separate file (last_rom_was_2nd)
If the boot.img in primary slot is not tagged as a secondary, it is considered a new primary boot.img
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 full second boot but with the secondary boot.img in the real boot partition
MultiROM 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
Small note regarding encrypted devices using the no-kexec workaround
Since I dont use encryption, I haven't tested this to much extent, but I believe that there is a BOOT PRIMARY ROM option, which you can choose to boot into Internal without decrypting the device first.
Please be aware that this should not be used, if: the last booted ROM was a secondary using the no-kexec workaround.
The reason is that the backup of the primary_boot.img, is stored in the multirom folder, so for the no-kexec to be able to restore it, it needs access to the /data partition:
Booting into primary, while the previous rom was using the no-kexec-workaround
(in which case the real primary needs to be restored first)
It's not too much of a big deal, because when the no-kexec workaround encounters an error, it reboots to recovery (and since recovery will restore the primary_boot.img), another reboot would be fine.
I do however (until I address this particular issue), encourage you not to use the BOOT PRIMARY ROM option, but instead decrypt the device, and then select the Internal ROM to boot.
Will this remain a "beta" version?
Most probably YES it will.... MultiROM is supposed to work with a kexec-hardboot enabled kernel; since that does not exist (at this time), on arm64 devices, I am using a workaround; since it doesn't exist and doesn't work, just work around it, if possible ... (call it "non-linear thinking" thinking if you wish)
until such time as the original author sees fit, or I decide to rename as "stable" (imho it is), it will remain called a "beta"
I have extensively tested this on the HTC One M7, the M8, and the M9 and have not found any side effects, so as of version 33b (2016-04-16), I consider this a stable release.
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 ... (alpha status)
Sony Xperia Z5 by @Myself5
Sony Xperia L by @STRYDER~007
Sony Xperia SP by @Adrian DC
Xiaomi Redmi 2 by @premaca
.
(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)
Great worki @nkk71!
--
wysłane z HTCOne (m9) przez Tapatalk v5.4.0
Delete
--
wysłane z HTCOne (m9) przez Tapatalk v5.4.1
qriozum said:
Application "MultiROM" not working is HTCOne m9:
View attachment 3571948
--
wysłane z HTCOne (m9) przez Tapatalk v5.4.1
Click to expand...
Click to collapse
Somebody didn't read the OP . . .
Didn't flar2 add hexec path to elementalx kernel??
Does your workaround affect performance or functionalities in any way?
Dear All,
This is a highly experimental build, it is not meant for people who want a one-click-does-it-all solution, please read the OP, in particular:
I also ask you to read every single word in the thread (well at least the first four posts), as I continue to elaborate on them.
Click to expand...
Click to collapse
Thank you
In case, I wasn't clear enough, this is an "experiment", it works for me (mostly, except some bugs I've mentioned), if you want to join, you are more than welcome (at your own discretion and risk), otherwise, I can fully understand you being not comfy using it.
nkk71 said:
Dear All,
This is a highly experimental build, it is not meant for people who want a one-click-does-it-all solution, please read the OP, in particular:
Thank you
In case, I wasn't clear enough, this is an "experiment", it works for me (mostly, except some bugs I've mentioned), if you want to join, you are more than welcome (at your own discretion and risk), otherwise, I can fully understand you being not comfy using it.
Click to expand...
Click to collapse
is there a method to uninstall the mod?
throcker said:
is there a method to uninstall the mod?
Click to expand...
Click to collapse
yes of course, plenty, probably the easiest would be:
1- reflash "normal" TWRP to get rid of this one
2- restore backup (actually you only need to restore the boot.img)
you can delete the multirom folder manually, until I post an uninstaller
nkk71 said:
yes of course, plenty, probably the easiest would be:
1- reflash "normal" TWRP to get rid of this one
2- restore backup (actually you only need to restore the boot.img)
you can delete the multirom folder manually, until I post an uninstaller
Click to expand...
Click to collapse
many thanks. I just read somewhere elementalx kernel has kexec patch...am I wrong?
I read the entire op, i know about your workaround, is just a question to help and maybe get things easier for you (no more hacks)
throcker said:
many thanks. I just read somewhere elementalx kernel has kexec patch...am I wrong?
I read the entire op, i know about your workaround, is just a question to help and maybe get things easier for you (no more hacks)
Click to expand...
Click to collapse
You are wrong.
throcker said:
many thanks. I just read somewhere elementalx kernel has kexec patch...am I wrong?
I read the entire op, i know about your workaround, is just a question to help and maybe get things easier for you (no more hacks)
Click to expand...
Click to collapse
Feel free to ask any kernel dev about any of the following:
* kexec
* kexec-tools
* kexec-hardboot
* kexec-hb-tools
on arm64
I did not create this to make things easier on myself, so either
1- feel free to correct me, and point me in the right direction
2- stick to the thread
Just for info: thinking/creating/coding and testing this ("make it easy") workaround
wasnt easy at all
Please stick to the thread, I think my information and feedback requests were specific enough, so can we stick with them.
Sent from my HTC One M9 using Tapatalk
Just installed this on Verizon m9. So far so good. I have Candy Six running as primary and FluentRom as a secondary. Thanks for this.
MultiROM TWRP updated to "TWRP-multirom-20151211-v32a-beta02-UNOFFICIAL-hima.img"
downloads and changelog are in the third post
(this fixes the external ext4 partition problem)
Thank for your work. I try it as soon as possible.
I apologize if I missed this in the thread, I read through but have a tendency to overlook things I'm actually looking for. Is touch working for you guys in the rom selection menu?
Just wondering, I don't mind using volume keys to select
Sent from my HTC One M9 using Tapatalk
grim489 said:
I apologize if I missed this in the thread, I read through but have a tendency to overlook things I'm actually looking for. Is touch working for you guys in the rom selection menu?
Just wondering, I don't mind using volume keys to select
Sent from my HTC One M9 using Tapatalk
Click to expand...
Click to collapse
Ah yes, one of those bugs
touch generally works, but is dependant on how the kernel was built, as @Captain_Throwback mentioned, if SECURE_TOUCH is not specified then touch wont work
which ROM is that?
nkk71 said:
Ah yes, one of those bugs
touch generally works, but is dependant on how the kernel was built, as @Captain_Throwback mentioned, if SECURE_TOUCH is not specified then touch wont work
which ROM is that?
Click to expand...
Click to collapse
Oh OK I see, haha I'm on candySiX primary ROM and viper secondary. Thank you!
Sent from my HTC One M9 using Tapatalk

Categories

Resources