[MOD][KK+]MultiRom v22a && TWRP 2.6.3.x (20.02.14) - LG Optimus 4X HD

Okay i only started looking at multirom around 4hours before releasing this, so i am aware we already have a multiROM thread, however i do believe it's outdated, and perhaps unsupported now, so i am merging a supported multirom with my TWRP thread where i will be keeping both updated, thanks to @Tasssadar for bringing multiROM to the android community. I failed hard with outdated sources from adam so i have written my own stuff, but i think iodak is using his .diff​
Taken and modified from official thread at Flo
Introduction
MultiROM is one-of-a-kind multi-boot mod for Nexus 7. It can boot any Android ROM as well as other systems like Ubuntu Touch, once they are ported to that device. Besides booting from device's internal memory, MultiROM can boot from USB drive connected to the device via OTG cable. The main part of MultiROM is a boot manager, which appears every time your device starts and lets you choose ROM to boot. You can see how it looks on the left image below and in gallery. ROMs are installed and managed via modified TWRP recovery. You can use standard ZIP files to install secondary Android ROMs and MultiROM even has its own installer system, which can be used to ship other Linux-based systems.
Features:
* Multiboot any number of Android ROMs
* Restore nandroid backup as secondary ROM
* Boot from USB drive attached via OTG cable
You can also watch a video which shows it in action.​
Warning!
It _is_ dangerous. This whole thing is basically one giant hack - none of these systems are made with multibooting in mind. It is no longer messing with data partition or boot sector, but it is possible that something goes wrong and you will have to flash factory images again. Make backups. Always.​
Installation
Manual installation
Find all needed files here: MOD Edit: Links removed
I think Iodak has the kexec patch so use his Rom, i'm not too sure on how to add a kexec so i'll look into it, this does support KK roms as i tried it, and so has dan.
MultiROM has 3 parts you need to install:
MultiROM multirom.zip - download the ZIP file from second post and flash it in recovery.
Modified recovery (TWRP_Mrom.zip) - download and flash in recovery.
Patched kernel - Iodaks kernel i believe is kexec patched, worked for me, have a play, i use share kernel for KK roms of the same type. I suggest this.
You current rom will not be erased by the installation.
Download links are somewhere below
​
Adding ROMs
Android
Go to recovery, select Advanced -> MultiROM -> Add ROM. Select the ROM's zip file and confirm.​
Updating/changing ROMs
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.
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)
Device Tree for building Mrom and TWRPhttps://github.com/Fluoxetine/android_device_lge_p880 (branch TWRP)​
Thanks and Links
Official thread with screenshots, donate link, and changelogs
Original Thread for 4xHD by @Adam77Root
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. 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'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​
Message from Fluoxetine
I spend a lot of time trying to bring new roms/mods to this and many other devices, this doesn't really cost me anything so i will not ask for money, however i am open to other donations, if you can supply me with a donated spot on a build server that would be great! Otherwise, you can supply me with Drink and Food to snack on whilst i work away, just PM me with an amount and i'll choose a product from amazon and send you my address and info for it to be shipped directly to me Thanks for your time guys.
Click to expand...
Click to collapse
-
-
-
-
-
-
Changelog from my end and not multiROM (Ascending Order)
Code:
- [I] Release within 4 hours of solid working on it [/I]
- Fix Recovery
- Fix touch input
- Build Multirom.zip
- Remove weird vibration
- Fix MultiRom button
- Fix Layout
- Build Modified TWRP
- Create TWRP.fstab
- Build MultiRom.zip
- Fix Sizing
- Build Initial MultiRom.zip
- Create mr_init_devices.c
- Create a modified BoardConfig.mk
- Sync Modified TWRP
- Sync MultiRom
- Sync Omni

Reserved
Great work
Sent from my LG-P880 using Tapatalk

Ha, it's working... Somtimes it's a bit tricky to install secondary ROMs. To get Zaiben RC8 booting I installed it from a backup.
Pure CM11 (20140220 nightly) without gapps is booting, after flashing gapps in MultiROM it dosn't boot. Only using a backup to create it as secondary works for me...
But no way to install AnyKernels like Iodak9.95 om secondary. For CM/ASOP you can try sharing option, for stock-based the only way is using backup with installed custom kernel...
Since AnyKernel there are no boot images for different roms, so there is nothing to inject...
One downer for me is missing ADB in recovery. I've tried mounting USB-Device first, no way. Device manager in Windows shows nothing.
In bootmenue ADB is working, but it's useless without mounted system, data etc. When I use "adb shell mount -o remount,rw system" I got "mount: can't find system in /proc/mounts"
And I noticed after booting any secondary ROM, primary needs wiping cach/dalvikcache to prevent a bootloop...
EDIT: Got system access from ADB...
Code:
adb shell mount /dev/block/platform/sdhci-tegra.3/by-name/APP /system

Nice work man! Does ADB work in MultiROM? Did you check new hardboot patches? It doesn't need target kernel to be patched anymore.
Sent from my OmniROM-powered LG Optimus 4X HD

Adam77Root said:
Nice work man! Does ADB work in MultiROM? Did you check new hardboot patches? It doesn't need target kernel to be patched anymore.
Sent from my OmniROM-powered LG Optimus 4X HD
Click to expand...
Click to collapse
I've got ADB only working from boot menu. With correct mounts from ADB shell I'm able to modfy anthing I need...
But ADB working in TWRP would be nice

Adam77Root said:
Nice work man! Does ADB work in MultiROM? Did you check new hardboot patches? It doesn't need target kernel to be patched anymore.
Sent from my OmniROM-powered LG Optimus 4X HD
Click to expand...
Click to collapse
I don't think ADB works in multiROM, i saw in your patch a few ADB related stuff but in all honesty i think i left them and am still using all the same ones as grouper :') But i will be looking into this.
Also i haven't checked out any of the new hardboot patches, because in all honesty i have no clue what they are :highfive: but i can learn, i'll look into it now I just threw myself at multirom and looked at whatever the other devices had, and then just made it for p880 :3 Touch was an asshole Till i realized all i had to do was change b to an a.
Edit 1: This was the device specific mrom stuff i needed to add https://github.com/Fluoxetine/android_device_lge_p880/blob/TWRP/mr_init_devices.c
Edit 2: Added https://github.com/Tasssadar/androi...mmit/005cf387c1404eac862cc35153d7641d18faef4c this commit manualy, well for the files we had i added, we didn't have lge_devices or reboot.c and reset.c was different :s
Compiling stock CM11 kernel with this patch and see if i can dual boot stock with stock kernel that isnt patched, or cm10.1 with stock cm10.1 selecting "don't share"
Edit 3: Getting Errors with the changes i made, so gonna need some more time to amend them for the p880, i think i might have to call on some other devs to help out with this, i have no idea what i'm doing..

Nice work, could I ask you to prepare multirom uninstaller also?

It is working very well, thanks for this. All I do was I installed a CM-based Kitkat rom (Mokee) in the internal, and for the secondary, I installed stock rom (Zaiben) with kernel sharing enabled. Both roms are working flawlessly.

Thanks man I love your work!!
We can install FirefoxOS and Ubuntu too? MultiRom Manager working?
Sent from my LG-P880 using XDA Premium 4 mobile app

Can't seem to get anything to boot as secondary, I've tried zaiben and nameless. From backup and from zip, with and without kernel sharing.
Most times device just shuts down, once I got to boot animation and then it froze.
All backups normally boot as primary.
Primary uses latest iodak.
Probably I'm doing something wrong since others report it working.
Sent from my LG-P880 using Tapatalk

dcos said:
Can't seem to get anything to boot as secondary, I've tried zaiben and nameless. From backup and from zip, with and without kernel sharing.
Most times device just shuts down, once I got to boot animation and then it froze.
All backups normally boot as primary.
Primary uses latest iodak.
Probably I'm doing something wrong since others report it working.
Sent from my LG-P880 using Tapatalk
Click to expand...
Click to collapse
Try having your device connected to ac power while rebooting to secondary. If that works, then its the same problem as with adams multiboot, but it has two workarounds

Will you keep the non-dualboot twrp ?
I'm really not into this dual boot gimmicks and really like, and am still using your "clean" twrp version that works flawless BTW
Tapatalked from my CM11-LG4XHD-P880

remorema said:
Will you keep the non-dualboot twrp ?
I'm really not into this dual boot gimmicks and really like, and am still using your "clean" twrp version that works flawless BTW
Tapatalked from my CM11-LG4XHD-P880
Click to expand...
Click to collapse
You can use this recovery witout flashing the multiboot binarys... And the N7 multirom uninstaller works after editing the updater-script.
dcos said:
Can't seem to get anything to boot as secondary, I've tried zaiben and nameless. From backup and from zip, with and without kernel sharing.
Most times device just shuts down, once I got to boot animation and then it froze.
All backups normally boot as primary.
Primary uses latest iodak.
Probably I'm doing something wrong since others report it working.
Sent from my LG-P880 using Tapatalk
Click to expand...
Click to collapse
When you see in listeted roms with shared boot "remove boot.img" ,you can do this.
When I klicked "share boot" on ROM installation and after flashing it have its own boot.img. Don't know why, those ROMs will not boot on my device...

I lose signal on Miui 4.2.2 and CM10.1.3 dosen't boot.
I use Omnirom 4.4 and Iodak 9.95 as default.

Dual boot would be intresting if Android/data/ of secondary rom was on the external sdcard. I'm not very confident of using a secondary rom sharing that same folder as the primary rom. IMO that could cause some issues. Example: if I uninstall a game I'm secondary ROM the obb file of that ROM will be deleted on primary ROM and vice versa.
Tapatalked from my CM11-LG4XHD-P880

love you guy! i like the idea of having multiple roms, but I never got this stuff running not on my Lg 4X either on my nexus 7 - hope to get it working now with this release

Kexec for stock Cm11 kernel?
Can someone patch stock Cm11 kernel with kexec-hardboot ?

Okay so, i have uploaded CM11 stock kernel with a kexec patch, although this is not the same patch as used in iodak or stock patched kernel, i have taken the commits from groupers kernel with kexec and have implemented them into our stock cm11 kernel (took ages, had to do it manually).
This should mean that the target kernels do not need to be patched, only the host kernel needs the patch, i tried this with carbon-kk with my kernel flashed and added Carbon-KK WITHOUT SHARING kernel, then when i selected it to boot, as soon as the screen goes black HOLD THE POWER BUTTON, and then it will boot into the secondary Rom with the stock kernel that comes with it!
Well i think so anyway, Danny is testing for me now, maybe some of you could test it too? I'm not sure what will happen, i only tried it with carbon and my kexec as host, and stock carbon as target.
Link is here for the kernel http://d-h.st/j9Z or just check my folder in OP for the MultiROM stuff

For those who are having signal problems or no mobile internet connection from secondary ROM(s) with kernel sharing, you have to copy the kernel modules (baseband_usb_chr.ko, raw_ip_net.ko, scsi_wait_scan.ko) from internal ROM module folder (/system/lib/modules) to your secondary ROM. Make sure to change the permissions as well.
Just my 20 cents .

not able to flash kernel in secondary roms
hi, i have Enox rom as default rom and i installed omni 4.4.2 kk rom as secondary, and no kernel sharing.
now it boots my Enox rom but doesn't boot omni with error to have kernel with patch
so i go in advance > multirom > select omni > flash zip > and flash iodak kernel 9.95, but it fails every time, i tried iodak 9.5 too, but same,
am i doing something wrong or its not possible to flash kernels in secondary roms?
then what am i supposed to do now?
i really don't wanna change kernel of my default rom, it's working perfect with amazing battery life that i want, but i want secondary roms with different kernels ?

Related

[GUIDE] How to properly use MultiROM for LG P-880 - Optimus 4X HD (all steps explaine

-NOTE: The following guide has been specifically written for LG P-880 (Optimus 4X HD), after a lot of reading, flashing and managing ROMs and kernels on MultiROM; I have been asked by some users, and now it's here, I hope it to be clear and useful; it includes some parts extracted from the original Nexus7 thread, and readapted for our device. For the original MultiROM thread by @Tasssadar, go at the link below:
http://forum.xda-developers.com/showthread.php?t=2457063
MultiROM is one-of-a-kind multi-boot mod, originally built for Nexus 7 by @Tasssadar, ported and re-adapted to work with LG P-880 by @Adam77Root, then by @Fluoxetine, and finally by Mourta @IcanhasLG (coming soon, don't ask for ETA's, please). It can boot any Android ROM as well as other systems like Ubuntu Touch, once they are ported to our device. The main part of MultiROM is a boot manager, which appears every time your device starts and lets you choose ROM to boot. ROMs are installed and managed via modified TWRP recovery. You can use standard ZIP files to install secondary Android ROMs, or restore nandroid backups as secondary ROMs, too.
Features:
* Multiboot any number of Android ROMs
* Restore nandroid backup as secondary ROM
1) INSTALLATION
MultiROM has 3 parts you need to install:
* MultiROM.zip (A new version built by Mourta @IcanhasLG will come soon; actually, the latest MultiROM.zip by @Fluoxetine can be found here: https://app.box.com/s/fmigiyd8nsprc8jxwahn) - download the ZIP file and flash it in recovery.
* Modified TWRP recovery (the actual modified recovery is the one provided by @Adam77Root - go here for Adam's modified TWRP thread and for download links: http://forum.xda-developers.com/showthread.php?p=46431004). Download the latest IMG file and use terminal emulator to flash it (the easier way to flash it without a PC). Please, follow the steps below for a safe flash:
-Rename the IMG file into "recovery.img"
-Open terminal emulator
-Type "su", then enter
-Type "cat /mnt/sdcard/recovery.img >/dev/block/mmcblk0p1", then enter
-Type "sync", then enter
-Type "exit", then enter
-Reboot your phone
* Kexec-hardboot patched kernel - You can use iodak (patched since from v8), Mourta, or Cyodak. Download the ZIP file and flash it in recovery.
IMPORTANT: You current rom will NOT be erased by the installation.
2) ADDING ROMs:
* Go to recovery, select Advanced -> MultiROM -> Add ROM. At this point, you can choice if you want to share or not to share internal ROM's kernel with your new secondary rom: if you want to, just select the "Share kernel with Internal ROM" option; if you don't, select the "don't share" option. The sharing mode is helpful if you need to use an anykernel kernel with a secondary ROM (see step 2.1) or just to share the Internal ROM's kernel with secondaries, if you need it.
* Select the ROM's zip file you want to flash, or the nandoid backup file you want to restore as a secondary ROM, and confirm.
* Flash Gapps package (optional)
*Flash custom kernel (optional) (WARNING: only no-anykernel patched kernels can directly be flashed on the top of secondary ROMs; if you try flashing an anykernel patched kernel, you will end in a bootloop; if you want to use an anykernel patched kernel on a secondary ROM, go to step 2.1)
2.1) USING ANYKERNEL PATCHED KERNELS WITH SECONDARY ROMs
Actually, MultiROM doesn't support direct flashing of anykernel patched kernels on the top of secondary ROMs. There are some workarounds to let secondary ROMs use this kind of kernels:
a. Share the kernel with internal ROM:
If you flashed an anykernel patched kernel (it must be kexec-hardboot patched, too) on the top of internal ROM, you will be able to share it with secondary ROMs too. If you did it, just follow the steps below, when adding a new secondary ROM:
* Go to recovery, select Advanced -> MultiROM -> Add ROM. At this point, you can choose if you want to share or not to share internal ROM's kernel with your new secondary rom: if you want to, just select the "Share kernel with Internal ROM" option.
b. Remove original boot.img from secondary ROM:
If you flashed a secondary ROM without selecting the "Share kernel with internal ROM" option, but you flashed an anykernel patched kernel (it must be kexec-hardboot patched, too) on the top of internal ROM before, you can share it with secondary ROM following the steps below:
* In recovery, Advanced -> MultiROM -> List ROMs -> "Your rom's name", there is a button: "Remove boot.img". This action switches ROM to "share kernel" mode. Flashing a ZIP which contains kernel (even ROM update!) into that secondary ROM could put it into "don't share" mode again.
* After removing the original boot.img, you will see a new "Inject boot.img" button replacing the old "Remove boot.img" one: this option allows you to inject your secondary ROM with a different boot.img, backed up from other kernels you flashed before on the top of other ROMs, or backed up directly from other ROMs. Do this at your own risk, it may cause bugs or not, depending by your knowledge of what you are going to inject here.
At any rate, I personally tried the a. step above, and after that I tried to flash a ROM's zip update: the "share kernel" mode hasn't been turned off.
3) UPDATING/CHANGING ROMs
a. Primary ROM (Internal)
* Wipe /cache, /dalvik, /system, or do factory reset if needed (it won't erase secondary ROMs)
* Flash ROM's ZIP file as usual
* Flash Gapps package (optional)
*Flash custom kernel (optional) (WARNING: if you want secondary ROMs to properly boot, you should flash only kexec-hardboot patched kernels, on the top of Internal ROM. Flashing a no-patched kernel won't allow MultiROM to manage secondary ROMs' boot).
* After erasing /system partition, or flashing a new kernel, a "bug" could happen: the menu with all the ROMs won't show up during boot.
If so, re-flash the MultiROM zip after having flashed the ROM update and the other related stuff, 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.
b. Secondary Android ROMs
If you want to change a ROM, select it in Advanced -> MultiROM -> List ROMs, delete it using the "Delete" button, then add the new one (following the instructions explained in step 2). To update ROM, follow these steps:
* Go to Advanced -> MultiROM -> List ROMs and select the ROM you want to update.
* Wipe /cache, /dalvik, and so on, by pressing the proper button showed on the screen
* Select "Flash ZIP" and flash ROM's ZIP file.
* Flash Gapps package (optional)
*Flash custom kernel (optional) (WARNING: only no-anykernel patched kernels can directly be flashed on the top of secondary ROMs; if you try flashing an anykernel patched kernel, you will end in a bootloop; if you want to use an anykernel patched kernel on a secondary ROM, go to step 2.1)
4) ERASING SECONDARY ROMs
* Just go to Advanced -> MultiROM -> List ROMs and select the ROM you want to delete.
* Select "Delete"
5) BOOTING SECONDARY ROMs
* Turn on the phone; after the LG logo, the MultiROM boot menu will appear. If you don't do anything, Internal ROM will boot. If you want to boot into secondary ROMs, you have to tap on the countdown pop-up
* After that, you can choose your desired ROM, then press "Boot". For secondary ROMs which don't share kernel with internal ROM: press "Boot" and hold down the power button until phone vibrates (actually, our MultiROM has a bug which doesn't allow secondary ROMs to boot, if you don't hold power button after having tapped "Boot", if you haven't shared kernel with internal ROM.)
6) UNINSTALLING MultiROM
The easiest way is to just reflash your custom kernel or a ROM zip on the top of your internal ROM, after having made the usual wipes: this will erase the MultiROM binaries.
More updates will come when we'll have a new version, such as for swapping ROMs through internal and secondary positions, making the internal ROM secondary, and so on (these features don't work fine, at the moment).
When flashing a zip file (SuperSu etc.) on secondary ROMs with shared Kernel from primary, a boot.img will be created in /data/media/0/multirom/"YourSecondary"/... I use these images to repack them for stock ROMs or MiUi to get them work in MR...
Secondaries with own boot images can be booted too. After you have chose your desired ROM in MR bootmanager, press "Boot" and hold down the power button until phone vibrates. Your device should reboot to the chosen ROM...
Most of the ROMs I've tried as secondary are working flawlessly in MR... Only MoKee have made some Problems...
Fladder72 said:
When flashing a zip file (SuperSu etc.) on secondary ROMs with shared Kernel from primary, a boot.img wil be created in /data/media/0/multirom/"YourSecondary"/... I use these images to repack them for stock ROMs or MiUi...
Secondaries with own boot images can be booted too. After you have chose your desired ROM in MR bootmanager and press "Boot", you have to hold down the power button until phone vibrates. Most of the ROMs I've tried as secondary are working flawlessly in MR...
Click to expand...
Click to collapse
Yep, what you're saying is right, nobody affirmed the contrary
Right, I've forgotten the more banal thing: the necessity of holding down power button, while booting a secondary ROM I'm adding it into the guide right now
For secondary ROMs with shared kernel there is no need for hold down power button. Only for secondaries with own kernel images.
Currently I have in MR:
JellyFishHD 1.3
Vanir 4.4.4 090214
Zaiben RC16
MiUi 4.8.1
All ROMs are booting. Only MiUi have a problem with access to External SD
Fladder72 said:
For secondary ROMs with shared kernel there is no need for hold down power button. Only for secondaries with own kernel images.
Currently I have in MR:
JellyFishHD 1.3
Vanir 4.4.4 090214
Zaiben RC16
MiUi 4.8.1
All ROMs are booting. Only MiUi have a problem with access to External SD
Click to expand...
Click to collapse
Yep, I knew that too, I've already written that in last update Thank you for having helped me remembering those things! You know, sometimes those steps begin automatic, while using this mod, so you don't remember them as a necessary thing to explain, my bad!
Curiously the device boots any ROM while it's connected via USB, without hold down Power button for restart...
Fladder72 said:
Curiously the device boots any ROM while it's connected via USB, without hold down Power button for restart...
Click to expand...
Click to collapse
Yep, it's right, I never understood the reason for that..probably it has something to do with some commits, not rightly ported for our device, or not easily portable
@Fladder72 hows vanir 4.4.4 performnig ? Is it dev based or cm ? Ext4?
@peppethustra great guide will try it when i have the time.BTW we need TWRP or we can flesh it with CWM ?
Vanir 4.4.4 runs like hell... Realy fast with Vanir stock kernel, an a bit faster with Mourta's... For me the fastes KK-Rom at this momemt. :good:
Maybe next I'll give Beanstalk a try...
I use only Ext4, because I don't like f2fs... Too much early stage sh*t...
I'm not shure, but I think, Vanir is CM based...
dimi89 said:
@Fladder72 hows vanir 4.4.4 performnig ? Is it dev based or cm ? Ext4?
@peppethustra great guide will try it when i have the time.BTW we need TWRP or we can flesh it with CWM ?
Click to expand...
Click to collapse
Thank you! You must use modified TWRP built by Adam, as said in OP, it's the only recovery built to work with MultiROM binaries
ok so i returned to multirom thank to u. OFC i was using it before and know how it goes.
I flashed multirom.zip by fluoxetine then flashed latest Adam's recovery via fastboot.
My problem is : Internal : pa 4.5 beta4 with mourta 09.02 kernel ---> then add rom cm11 09.02 unofficial by Demetris with his kernel + gapps ----->reboot ----> in multirom i choose cm11 boot, hold power button blah blah ----> booom again in multirom and trying to boot cm tells me there is no kexec . I think "what the??" booting internal rom and there is pa 4,5 beta4 with demetris 09,02 kernel!! WTF?XDXDXD i can give screenshots
EDIT : keep getting better when i reboot it goes back to mourta's kernel?
seems i found multikernel solution?XD
@gerciolisz Ahahahah, wt*? XD
srsly i'll give you srceenshots in 5 minutes
maybe i should first flash recovery then multirom in new recovery?
dunno
edit : https://drive.google.com/file/d/0Bww8W1t_MtuSd1RBUXV5eVQxb3M/edit?usp=sharing
https://drive.google.com/file/d/0Bww8W1t_MtuSUHJBdldJc1pQaGs/edit?usp=sharing
gerciolisz said:
srsly i'll give you srceenshots in 5 minutes
maybe i should first flash recovery then multirom in new recovery?
dunno
edit : https://drive.google.com/file/d/0Bww8W1t_MtuSd1RBUXV5eVQxb3M/edit?usp=sharing
https://drive.google.com/file/d/0Bww8W1t_MtuSUHJBdldJc1pQaGs/edit?usp=sharing
Click to expand...
Click to collapse
Eheheh, very funny XD
Yep, try flashing on that way, personally I did so, when I flashed TWRP and Multirom coming from CWM..but it remains a strange thing!
peppethustra said:
Eheheh, very funny XD
Yep, try flashing on that way, personally I did so, when I flashed TWRP and Multirom coming from CWM..but it remains a strange thing!
Click to expand...
Click to collapse
I reflashed everything and same issue.. I think @IcanhasLG 's kernel can be a problem here.. I'll gry with old iodak v10 and report here soon
gerciolisz said:
I reflashed everything and same issue.. I think @IcanhasLG 's kernel can be a problem here.. I'll gry with old iodak v10 and report here soon
Click to expand...
Click to collapse
No problem with his kernel here, and I'm using it with MultiROM as principal kernel on the top of internal ROM since from the first release
peppethustra said:
No problem with his kernel here, and I'm using it with MultiROM as principal kernel on the top of internal ROM since from the first release
Click to expand...
Click to collapse
I have the same problem like gerciolisz with mourtas ls and latest kernel.
I wanted to try latest beanstalk today.
I didn't use multirom for a while so i installed recovery and multirom new but this doesn't help.
With flashing orginal iodak v10 in internal rom it works booting secondary rom.
Since you and some users could boot secondary with mourtas kernel it could be that this error is tegra variant relatet.
I have variant 0.
I have tested the different versions from mourta kernel
mourta-2014-07-27 is the last working version on my phone. With all later versions i can't boot secondary roms
Is there a way to log multirom booting?
@Donar81 damn thx man for this whole testing i am sure if there are more than just me mourta will look into this issue.
But i wonder how it work for others... I have variant 1.
Donar81 said:
I have the same problem like gerciolisz with mourtas ls and latest kernel.
I wanted to try latest beanstalk today.
I didn't use multirom for a while so i installed recovery and multirom new but this doesn't help.
With flashing orginal iodak v10 in internal rom it works booting secondary rom.
Since you and some users could boot secondary with mourtas kernel it could be that this error is tegra variant relatet.
I have variant 0.
I have tested the different versions from mourta kernel
mourta-2014-07-27 is the last working version on my phone. With all later versions i can't boot secondary roms
Is there a way to log multirom booting?
Click to expand...
Click to collapse
gerciolisz said:
@Donar81 damn thx man for this whole testing i am sure if there are more than just me mourta will look into this issue.
But i wonder how it work for others... I have variant 1.
Click to expand...
Click to collapse
I have variant3, and I've not the problem.. Yes, maybe it's better to ask him..What do you think, @IcanhasLG?
I have variant 0 and got no problems. I can boot scondaries with Moutras kernel...
---------- Post added at 11:46 AM ---------- Previous post was at 11:30 AM ----------
gerciolisz said:
ok so i returned to multirom thank to u. OFC i was using it before and know how it goes.
I flashed multirom.zip by fluoxetine then flashed latest Adam's recovery via fastboot.
My problem is : Internal : pa 4.5 beta4 with mourta 09.02 kernel ---> then add rom cm11 09.02 unofficial by Demetris with his kernel + gapps ----->reboot ----> in multirom i choose cm11 boot, hold power button blah blah ----> booom again in multirom and trying to boot cm tells me there is no kexec . I think "what the??" booting internal rom and there is pa 4,5 beta4 with demetris 09,02 kernel!! WTF?XDXDXD i can give screenshots
EDIT : keep getting better when i reboot it goes back to mourta's kernel?
seems i found multikernel solution?XD
Click to expand...
Click to collapse
Remove the boot.img in recovery/Multirom/Manage ROMs/YourSecondary. Now your primary will share the Kernel with your scondary. Can you boot now primary and secondary without any issue?

[ALPHA][MOD][SEP 13] MultiROM v28

Introduction
MultiROM is one-of-a-kind multi-boot mod for LG G2. It can boot any Android ROM. 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.
Click to expand...
Click to collapse
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.
Click to expand...
Click to collapse
Before you begin
This is in alpha stage. If you have the D805/6 model, use the recovery for D802. This should work on both LGD and JDI panels, but you may get some glitches. I'm working on a panel detection script which will be included in the next versions of recoveries.
Also, some ROM combinations don't work properly. You will get stuck on lg logo or MultiROM error message. It's because of the locked bootloader! It won't load the secondary ROM's kernel. We have to wait until there is a way to unlock it.
Click to expand...
Click to collapse
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.
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-v28-UNOFFICIAL-G2.zip) - download the ZIP file from second post and flash it in recovery.
Modified recovery (TWRP_multirom_codename_YYYYMMDD.img) - download the ZIP file from second post and flash it in 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.
You current rom will not be erased by the installation.
Download links are in the second post.
Click to expand...
Click to collapse
Adding ROMs
Android
Go to recovery, select Advanced -> MultiROM -> Add ROM. Select the ROM's zip file and confirm.
Click to expand...
Click to collapse
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.
Click to expand...
Click to collapse
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.
Click to expand...
Click to collapse
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.
Click to expand...
Click to collapse
Source code
MultiROM - https://github.com/PatrikKT/multirom-g2
Modified TWRP - https://github.com/PatrikKT/Team-Win-Recovery-Project
g2-common device tree - https://github.com/PatrikKT/device_lge_g2-common
Click to expand...
Click to collapse
Credits
@Tasssadar for the original work on MultiROM
@dr87 for letting me use his device tree and his kernel and helping out with some things
@savoca for his loki scripts
@arcardinal
@reas0n for testing
and everyone else I forgot
Donations
All this stuff would not be possible without the original work of Tasssadar. If you like his work, consider sparing him a few bucks on paypal or Bitcoins, his address is 172RccLB2ffSnJyYwjYbUD3Nx4QX3R8Ris
And as of me, I don't want any donations. I do all of this for free. Just press that thanks button
Click to expand...
Click to collapse
This thread was used as a template
Downloads
1. Main downloads
MultiROM: multirom-20140921-v28b-UNNOFICIAL-G2.zip
Modified recovery (based on TWRP): TWRP_multirom__YYYYMMDD.zip
MultiROM Uninstaller: multirom_uninstaller.zip
Mirror: http://d-h.st/users/patrik.KT/MROM-G2
Click to expand...
Click to collapse
2. Kernels with kexec-hardboot patch
Render Kernel (for AOSP ROMs) - http://forum.xda-developers.com/lg-g2/development/kernel-render-kernel-aosp-lg-roms-t2803929
Dorimanx (for stock-based ROMs) - http://forum.xda-developers.com/showthread.php?t=2725023
VanirAOSP - http://forum.xda-developers.com/showthread.php?t=2494756
More coming soon!
You need to have kernel with kexec-hardboot patch only in your primary ROM!
Nicely ask your kernel developer to merge kexec-hardboot patch.
Click to expand...
Click to collapse
Changelog
Code:
MultiROM v28b
=====================
* Fixed loki_tool for VS980
MultiROM v28a
=====================
* Larger UI
MultiROM v28
=====================
* Initial version for G2
* Support for devices with locked bootloader, which need loki
Recoveries:
Code:
21.09.2014
=====================
* Fixed loki_tool for VS980
15.09.2014
=====================
* Fixed installing zips without changing updater-script
14.09.2014
=====================
* TWRP 2.8.0
13.09.2014
=====================
* Initial G2 release
* Used SlimKat kernel source
reserved
happy testing, guys!
NOTE: this TWRP can be used as usual TWRP, it's similar to dr87 custom TWRP, but on SlimKat kernel.
Thanks guys you did it! How to uninstall?
Sent from my LG-D802 using XDA Premium 4 mobile app
TheFerhatKing said:
Thanks guys you did it! How to uninstall?
Sent from my LG-D802 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
I'll make the uninstaller too. Until then, if you want to uninstall, just flash the ROM zip again and remove /data/media/0/multirom folder.
Okay thanks, just tested it a bit and it looks nice but the MultiROM UI is very small is it normal?
Sent from my LG-D802 using XDA Premium 4 mobile app
I'll make it bigger in the next version
Odoslané z môjho HTC Desire 601
Today is a good day!!!!
Looks fantastic! Thanks for your hard work. This will help out tremendously with this community Alot of us use our phones for work and play and cannot keep flashing back and forth. Now if we can get Ubuntu on here then we will really be cooking with fire. lol On my N72013 I had Ubuntu (Desktop) and my daily driver rom. I was able to do all sorts of high level IT work using Ubuntu then once I was don just change back over. This will open alot of doors for the G2. I am glad I got here when I did. AOSP really seems to be exploding contrary to CarbonRom dropping us. Though I understand why.
I am uploading new builds now that will support Multirom!
I love you XD multirom is the best tool for android! Which version of g2 is supported? d802?
EDIT: I've just that only version supported is d802!!!!
Good job guy!
Thanks for your awesome work
Sent from my LG-D802 using XDA Premium 4 mobile app
Cool~
Do you know if you'll be able to port this to d800?
Great achievement guys, you have breathed new life into our aging G2.
Been using Multirom from Nexus 4 days. Last used it on my HTC One(M7).
The best utility to have for the Flash-a-Holics like me.
Hope to see it soon for the Sprint variant LS980
I'm sure this will go in xda portal. Good work and thanks. I will try it later.
I just installed the multirom. It just ROCKS!!!!
I have installed pardus hd rom classic 7.7. Which rom can I use for second?
Is there any uninstaller available??
I used it with my nexus 4 its excellent I was wondering can I boot with my otg stick a ROM cause I have the 16gb with 10gb avaible
t-shock said:
I just installed the multirom. It just ROCKS!!!!
I have installed pardus hd rom classic 7.7. Which rom can I use for second?
Is there any uninstaller available??
Click to expand...
Click to collapse
If it's a stock based ROM, then you should install a stock based secondary ROM too. There are (sometimes) issues with booting stock-based and AOSP ROMs. The uninstaller is on the way. until then, you should be able to get rid of it by flashing the kernel you have and removing /data/media/0/multirom folder.
Ismail.A said:
I used it with my nexus 4 its excellent I was wondering can I boot with my otg stick a ROM cause I have the 16gb with 10gb avaible
Click to expand...
Click to collapse
Yes, you can. But it will be a bit slower. Read the OP...
I'm building the recovery images for d800, d801, d803, ls980 and vs980. The rest (d805, d806 and f320*) will be supported later.
EDIT: D800/1/2/3 builds are up. LS/VS980 and F320* coming in a few minutes
patrik.KT said:
If it's a stock based ROM, then you should install a stock based secondary ROM too. There are (sometimes) issues with booting stock-based and AOSP ROMs. The uninstaller is on the way. until then, you should be able to get rid of it by flashing the kernel you have and removing /data/media/0/multirom folder.
Yes, you can. But it will be a bit slower. Read the OP...
I'm building the recovery images for d800, d801, d803, ls980 and vs980. The rest (d805, d806 and f320*) will be supported later.
Click to expand...
Click to collapse
Thanks but only stock based rom that I found is with aroma.
I tried to replace some lines that you suggest to the script but it won't install.
Any suggestion??
t-shock said:
Thanks but only stock based rom that I found is with aroma.
I tried to replace some lines that you suggest to the script but it won't install.
Any suggestion??
Click to expand...
Click to collapse
Send me a link to the ROM's thread. I will check what line you should change
BTW as I said in the previous post, the d800/1/2/3 builds are up. Also the new twrp 2.8.0 is used from now.

[MOD][Z2] MultiROM v33d

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
MultiROM is a one-of-a-kind multi-boot mod. It can boot any Android ROM as well as other systems like Ubuntu Touch, once they are ported to that device. Besides booting from device's internal memory, MultiROM can boot from USB drive connected to the device via OTG cable. The main part of MultiROM is a boot manager, which appears every time your device starts and lets you choose ROM to boot. You can see how it looks on the left image below and in gallery. ROMs are installed and managed via modified TWRP recovery. You can use standard ZIP files to install secondary Android ROMs and MultiROM even has its own installer system, which can be used to ship other Linux-based systems.
Features:
* Multiboot any number of Android ROMs
* Restore nandroid backup as secondary ROM
* Boot from USB drive attached via OTG cable
You can also watch a video which shows it in action.​
WARNING
It is dangerous. This whole thing is basically one giant hack - none of these systems are made with multibooting in mind. It is no longer messing with data partition or boot sector, but it is possible that something goes wrong and you will have to flash factory images again. Make backups. Always.​
IMPORTANT
I'm not responsible for anything, you do all this on your own risk.
Once you have flashed and set up MultiROM, don't flash another boot.img using fastboot.
If you want to uninstall MultiROM, just flash the MultiROM uninstaller.
Your device must not be encrypted.
To all devs maintaing Stock-based ROMs: Feel free to use my patched stock kernels to add MultiROM support to your ROMs.
When booting another ROM, you'll notice that in some cases, you can enter the recovery of the boot.img of the ROM. Please don't use it, flash everything using MultiROM TWRP.
INSTALLATION
Install the MultiRom Manager app from the store and install the recovery and multirom.
Reboot into MultiROM TWRP and flash the MultiROM installer --> Sould be done automatically.
Make sure you are on a Rom compatible with one of these kernels and flash it
In order to boot a secondary rom you MUST enable the "kexec workaround" option in the MultiRom settings found in the recovery.
That's it. You can now go to "MultiROM menu" (Top right corner in the recovery) to start flashing other ROMs.
Alternative installation method (if installation via the above method fails)
Download the files named multirom-<date>.zip and recovery-<date>.img from here.
You should use md5sum to validate the downloaded files using the provided xyz.md5 files in the same download location.
Copy the files to the sdcard of your device.
Use "adb shell" to open a shell on the device and use "su" to obtain root rights (adb must be set up on your computer, instructions are found on xda).
Adjust the following command and enter it in the shell: "dd if=/sdcard/recovery-<date>.img of=/dev/block/platform/msm_sdcc.1/by-name/FOTAKernel"
Reboot into recovery (shutdown, then VolDown + Power).
Flash the multirom zip from the sdcard.
Enjoy.
Adding ROMs
Go to recovery, select "MultiROM menu" (Top right corner in the recovery) -> Add ROM. Select the ROM's zip file and confirm.​
Using USB drive
During installation, recovery lets you select install location. Plug in the USB drive, wait a while and press "refresh" so that it shows partitions on the USB drive. You just select the location (extX, NTFS and FAT32 partitions are supported) and proceed with the installation.
If you wanna use other than default FAT32 partition, just format it in PC. If you don't know how/don't know where to find out how, you probably should not try installing MultiROM.
If you are installing to NTFS or FAT32 partition, recovery asks you to set image size for all the partitions - this cannot be easilly changed afterward, so choose carefully. FAT32 is limited to maximum of 4095MB per image - it is limitation of the filesystem, I can do nothing about that.
Installation to USB drives takes a bit longer, because the flash drive is (usually) slower and it needs to create the images, so installation of Ubuntu to 4Gb image on my pretty fast USB drive takes about 20 minutes.
Enumerating USB drive can take a while in MultiROM menu, so when you press the "USB" button in MultiROM, wait a while (max. 30-45s) until it searches the USB drive. It does it by itself, no need to press something, just wait.​
Updating/changing ROMs
1. Primary ROM (Internal)
Flash ROM's ZIP file as usual, do factory reset if needed (it won't erase secondary ROMs)
Go to "MultiROM menu" (Top right corner in the recovery) in recovery and do Inject curr. boot sector. if it is not done directly during installation of the Rom.
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 "MultiROM menu" (Top right corner in the recovery) -> List ROMs and select the ROM you want to update.
Select "Flash ZIP" and flash ROM's ZIP file.
Install a stock rom as secondary
This only works if you are using MultiRom version 33c or larger (excluding 33x-z).
1. Existing primary stock rom
Use these instructions if you plan to move an existing stock rom installed as primary. This guide assumes that multirom recovery is properly installed.
Shutdown the device.
Start the device into multirom recovery (VolDown + Power).
MAKE A BACKUP!
Go to "MultiROM menu" (Top right corner in the recovery) in recovery and tap "Swap roms".
Select the option "Copy primary rom to secondary/internal" and start the operation.
Wait until the operation finishes and flash your desired rom. (Alternatively you can also use any secondary rom to be the primary rom using the "Swap option" mentioned above.
Reboot.
2. Fresh stock installation
Use these instructions if you do not have a stock rom installed as primary. This guide assumes that multirom recovery is properly installed.
Shutdown the device.
Start the device into multirom recovery (VolDown + Power).
MAKE A BACKUP!
Install the stock rom via an install zip of via an FTF. NOTE: For the FTF method you need to shutdown the device and boot into download mode (VolDown pressed while connecting the USB cable; cable connected to the PC). Use for instance flashtool to flash ONLY the kernel, system, and cache image. In addition, you MUST select "Wipe apps_log"!
When the device reboots, let it boot up and finish the first time setup procedure.
Shutdown the device.
Start the device into multirom recovery (VolDown + Power).
Go to "MultiROM menu" (Top right corner in the recovery) in recovery and tap "Swap roms".
Select the option "Copy primary rom to secondary/internal" and start the operation.
Wait until the operation finishes and flash your desired rom. (Alternatively you can also use any secondary rom to be the primary rom using the "Swap option" mentioned above.
Reboot.
CHANGELOG
Code:
=== Version 33d (Bugfix release) ===
- Fix the apps_log issue for good (FINALLY).
- Support for LOS in combination with stock.
=== Version 33c ===
- Sync with XperiaMultiRom repository: cleaner implementation of some patches & extends the rom support w.r.t. old builds.
- Improved compatibility of custom N roms (AOSP init system) with stock roms: Allows to use stock roms as secondary rom.
- Bug fix: Set the version number in the Mrom binaries (for automatic updates).
=== Version 33b ===
- Small maintenance update to support "embedded/combined ramdisks" of secondary roms.
=== Version 33a ===
- Fixed booting Stock after starting secondary N rom.
=== Version 33z ===
- Fixed boot image injection of stock roms.
=== Version 33y ===
- New nokexec version 4 (previous: version 2).
- Support for AOSP 1.3.3 kernels (1.2.2 based kernels are also supported).
- Support for Android N (>= 7.0).
- Support for Sony Z2 stock roms as primary rom (I am investigating the installation as a secondary rom: it's installing, but not yet booting).
=== Version 33x ===
- Update Multirom from version 32 to 33.
- Update Multirom TWRP from version 2.8.7.0 to 3.0.2.
Detailed Xperia-Multirom Changelog
MultiRom
MultiRom Recovery
General Multirom Changelog
To be found here.
SOURCEs
MultiROM - https://github.com/XperiaMultiROM/multirom/ (branch master)
Modified TWRP - https://github.com/XperiaMultiROM/android_bootable_recovery (branch master)
Kernel w/ kexec-hardboot patch - https://github.com/Myself5/android_kernel_sony_msm8974/ (M5-Kernel)​
FAQs can be found here.
CREDITs
Tasssadar
Myself5
AdrainDC
Olivier
Garcia98
Thunder07
skin1980
Envious_Data
[NUT]
AndroPlus
Panic Brothers
I do not accept donations. But you may consider donation to Myself5 who did the original port, or to Tassadar who envisioned Multirom and did most of the implementation. We just jumped on the rolling train
Myself5:
Tassadar:
Thanks a lot to those who have donated!
XDA:DevDB Information
MultiROM for Sony Xperia Z2, Tool/Utility for the Sony Xperia Z2
Contributors
Myself5, Diewi
Source Code: https://github.com/XperiaMultiROM/multirom/tree/master
Version Information
Status: Testing
Created 2015-01-13
Last Updated 2018-01-23
DOWNLOAD
I still need to fix touch inside the MultiROM menu, for now you need to use the volume buttons to navigate.
https://diewald-net.com/files/public/MultiRom/sirius
The recovery.img is Tassadars modified TWRP to flash secondary Roms. It is needed to flash the secondary Roms.
Reserved
General Informations about Kexec are coming here soon.
Multi-Rom Random Post
Random Reserve Post
This is some real good progress in the Z2 development. When I'm not using the XDA One app I'll properly check out this thread. Thank you so much for this. I'll throw a donation your way at the end of the month.
EDIT:
Personally I think the installation instructions are a little bit ambiguous. Or is that your aim for this early in development?
Like in step one, I am assuming you need to be on an L ROM running your L kernel?
Is the multiROM TWRP embedded into your kernel?
The multiROM installer is the file multirom-20150113-v30x-UNOFFICIAL-sirius.zip, correct?
When do we need to flash the recovery.img you have provided?
Are the files under the KK/ directory needed yet?
Sorry for all the questions, I'm curious and want to try this but I don't wanna make any errors in the installation.
gamer649 said:
This is some real good progress in the Z2 development. When I'm not using the XDA One app I'll properly check out this thread. Thank you so much for this. I'll throw a donation your way at the end of the month.
EDIT:
Personally I think the installation instructions are a little bit ambiguous. Or is that your aim for this early in development?
Like in step one, I am assuming you need to be on an L ROM running your L kernel?
Is the multiROM TWRP embedded into your kernel?
The multiROM installer is the file multirom-20150113-v30x-UNOFFICIAL-sirius.zip, correct?
When do we need to flash the recovery.img you have provided?
Are the files under the KK/ directory needed yet?
Sorry for all the questions, I'm curious and want to try this but I don't wanna make any errors in the installation.
Click to expand...
Click to collapse
CM12 needs to be the host rom
after that you can install all you want
gamer649 said:
This is some real good progress in the Z2 development. When I'm not using the XDA One app I'll properly check out this thread. Thank you so much for this. I'll throw a donation your way at the end of the month.
EDIT:
Personally I think the installation instructions are a little bit ambiguous. Or is that your aim for this early in development?
Like in step one, I am assuming you need to be on an L ROM running your L kernel?
Is the multiROM TWRP embedded into your kernel?
The multiROM installer is the file multirom-20150113-v30x-UNOFFICIAL-sirius.zip, correct?
When do we need to flash the recovery.img you have provided?
Are the files under the KK/ directory needed yet?
Sorry for all the questions, I'm curious and want to try this but I don't wanna make any errors in the installation.
Click to expand...
Click to collapse
you need to flash the recovery.img to the FotaKernel Partition. ATM my M5-Kernel-V2-L is the only host kernel supported (therefore you need to be on CM12 as the Hostrom), more are yet to come (I work on a KK host kernel already and @AndroPlus Kernel is going to get supported soon too). The KK folder is not needed ATM, you just need M5 Kernel, the recovery.img flashed to FOTAKernel (see Recovery Collection Thread on how to do this) and then just flash the multirom*.zip and you are ready to go.
Hi Myself5, thanks for making multiboot rom for Z2, i always wanted to try something like this but my bootloader is "unlock allowed: no" is there any hope to run this on a locked bootloader / stock kernel or should i just complety forget about multiboot forever ??
Thanks for the work.
ptmaniac said:
Hi Myself5, thanks for making multiboot rom for Z2, i always wanted to try something like this but my bootloader is "unlock allowed: no" is there any hope to run this on a locked bootloader / stock kernel or should i just complety forget about multiboot forever ??
Thanks for the work.
Click to expand...
Click to collapse
MR needs a kexec-hardboot patched Kernel to load any other rom's kernel. However, as you can't flash any modified kernel I guess this is not possible for you. Sorry for that.
Hi and thanks for this beautiful feature. But I have a problem: I am on stock ROM 4.4.2 . Can I install a second ROM with a MultiROM remain on stock?
dalla96 said:
Hi and thanks for this beautiful feature. But I have a problem: I am on stock ROM 4.4.2 . Can I install a second ROM with a MultiROM remain on stock?
Click to expand...
Click to collapse
not yet. You need a MR compatible Host Kernel (it needs kexec-hardboot). Till now only my M5 Kernel for CM has it. Wait some weeks, I'm working with @AndroPlus to get kexec-hardboot going withAndroPlus Kernel
Double Post. Credits @tapatalk ...
Myself5 said:
not yet. You need a MR compatible Host Kernel (it needs kexec-hardboot). Till now only my M5 Kernel for CM has it. Wait some weeks, I'm working with @AndroPlus to get kexec-hardboot going withAndroPlus Kernel
Click to expand...
Click to collapse
OK thanks you very much
Are we Need to mod the ROM for that? Are that only work with Z2 ROMs?
I would test it soon as possible with androkernel.
dkionline said:
Are we Need to mod the ROM for that? Are that only work with Z2 ROMs?
I would test it soon as possible with androkernel.
Click to expand...
Click to collapse
no?
just install supported kernel, mod and the custom recovery.img
Just like all recoverys, otg stick doesn't mount... Please use Nut's recovery TWRP as base, that works ever. Is it normal that I can't touch anything really when the MultiRom Menu comes while booting?
Heyyy came across this and its awesome!!! So currently this mod works only for CM-based? Can I use a cm12 as a main and envi rom as my 2nd rom? D:laugh:
EDIT: Actually I tried flashing envi rom but it couldn't boot. My orginal CM12 rom boots fine though. Maybe I'm missing something. Do I need to flash kernels to the rom?
TheFerhatKing said:
Just like all recoverys, otg stick doesn't mount... Please use Nut's recovery TWRP as base, that works ever. Is it normal that I can't touch anything really when the MultiRom Menu comes while booting?
Click to expand...
Click to collapse
... Both your questions would be answered if you would have red the OP. I use @[NUT]s Device trees for TWRP already don't know why OTG is not working for you. A recovery log would be cool (After attaching the USB use adb to get it by using the command)
Code:
adb pull /tmp/recovery.log
The touch, as clearly written above the download link, is not yet working, I still need to fix this.
earthtk said:
Heyyy so currently this mod works only for CM-based? Can I use a cm12 as a main and envi rom as my 2nd rom?:laugh:
Click to expand...
Click to collapse
No as AndroPlus Kernel now has kexec-hardboot too you can use either stock or CM12/based (I'm working on a CM11 compatible Kernel) as the host Rom and any Z2 Rom you want as secondary Rom this is because secondary Roms need no patching (exept whats done when installing my MR itself) so you can use any Rom you want.
dkionline said:
Are we Need to mod the ROM for that? Are that only work with Z2 ROMs?
I would test it soon as possible with androkernel.
Click to expand...
Click to collapse
as you can read above, you only need to mod the host Rom (the Rom which is actually installed to the place it "belongs to") by installing a kexec-hardboot compatible kernel. And yes, OFC it does only work with Z2 Roms, this Mod is just for booting a Rom from a different place, not to magically make every Rom compatible with the Z2
I had read the whole op but not what was written over the download link sorry . But I didn't found where you said that you used Nuts device trees. I'm gonna do a log for you
TheFerhatKing said:
I had read the whole op but nut what was written ovet the download link sorry . But I didn't found where you said that you used Nuts device trees. I'm gonna do a log for you
Click to expand...
Click to collapse
Yeah, well you couldn't knew this, thats true Just checked again and discovered that I just mentioned him at the credits, not why. Sorry for that Looking forward to the log

[MOD] Multirom for Shield Portable

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Introduction
MultiROM is one-of-a-kind multi-boot mod. It can boot any Android ROM as well as other systems like Ubuntu Touch, once they are ported to that device. Besides booting from device's internal memory, MultiROM can boot from USB drive connected to the device via OTG cable. The main part of MultiROM is a boot manager, which appears every time your device starts and lets you choose ROM to boot. You can see how it looks on the left image below and in gallery. ROMs are installed and managed via modified TWRP recovery. You can use standard ZIP files to install secondary Android ROMs and MultiROM even has its own installer system, which can be used to ship other Linux-based systems.
Features:
* Multiboot any number of Android ROMs
* Restore nandroid backup as secondary ROM
* Boot from USB drive attached via OTG cable
You can also watch a video which shows it in action.​
Warning!
It _is_ dangerous. This whole thing is basically one giant hack - none of these systems are made with multibooting in mind. It is no longer messing with data partition or boot sector, but it is possible that something goes wrong and you will have to flash factory images again. Make backups. Always.​
Installation
Manual installation
Firstly, there are videos on youtube. If you want, just search for "MultiROM installation" on youtube and watch those, big thanks to all who made them. There is also an awesome article on Linux Journal.
MultiROM has 3 parts you need to install:
MultiROM (multirom-YYYYMMDD-vXX-UNOFFICIAL-roth.zip) - download the ZIP file from second post and flash it in recovery.
Modified recovery (twrp-multirom-YYYYMMDD-UNOFFICIAL-roth.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 listed below or third-party kernels which include the patch, you can see list in the second post. Flash it using TWRP.
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.​
2. Ubuntu Touch
Not yet ported​
3. Firefox OS
Not yet ported, but should be as easy as other Android ports.​
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 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 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 (branch master)
Modified TWRP - https://github.com/Tasssadar/Team-Win-Recovery-Project (branch android-6.0)
Device Tree https://github.com/CM-Shield/android_device_nvidia_roth (branch cm-13.0-mrom)
Kernel w/ kexec-hardboot patch - https://github.com/CM-Shield/android_kernel_nvidia_roth (branch cm-12.1-mrom)​
XDA:DevDB Information
Shield Portable Multirom, Tool/Utility for the Nvidia Shield
Contributors
Steel01
Version Information
Status: Testing
Created 2015-04-23
Last Updated 2015-04-23
Reserved
Downloads
1. Main downloads
MultiROM: multirom-20150801-v32-UNOFFICIAL-roth.zip
Modified recovery (based on TWRP 3.0.0.0): twrp-multirom-20160526-UNOFFICIAL-roth.img
Kernel w/ kexec-hardboot patch (Stock 5.1 update 106) [flashable zip]: roth_kexec_boot_stock_106.zip
Kernel w/ kexec-hardboot patch (Stock 5.1 update 103) [flashable zip]: roth_kexec_boot_stock_103.zip
Kernel w/ kexec-hardboot patch (CM 12.1) [flashable zip]: roth_kexec_boot_cm_12_1.zip
MultiROM Manager: MultiROMMgr-debug.apk​
2. third-party kernels with kexec-hardboot patch
None yet
Nicely ask your kernel developer to merge kexec-hardboot patch (patch for roth).​
Reserved
Notes
I finally made this work. However, it is still not well tested. Three things to note:
1. The touchscreen does not work in the boot selection. Neither will the d-pad. So, I've had to set Y as up, B as down, and A and power as confirm.
2. The recovery is sideways. This is because that's the native orientation of the display. TWRP 3 no longer has rotation code, so I can't rotate the display to landscape.
Also, I have yet to make a Linux rom boot using this. That's mostly because I haven't got the guest atags patch working on Fedora's kernel (haven't tried and personally don't really care about others). If and when I make it work, I'll try to make an mrom installer for it. Sound and graphics acceleration don't work, but everything else seems really solid. Kudos to @Gnurou for coding as much as he has and getting most of it merged into the upstream kernel.​
Changelog
20160526
Updated recovery to TWRP 3
20150905
Updated the Stock 106 zip to include the volume fix.
20150905
Added kexec patch for Stock 106.
20150801
Found problems in the kexec patch. Synced those to match Tassadars hammerhead patch and voila, stuff started working better... CM 12.1 and Stock 103 boot great as secondaries now.
20150723
With the release of official update 103, this seems to work pretty well. Some basic testing with stock as primary didn't show any problems. However, I haven't tested much. I've removed older kexec images since they would just cause problems anyway. I've also added multirom manger, which on a rooted system should set up everything in only a few taps.
20150604
Disabled adb in multirom completely. For some reason this breaks adb/mtp/etc in all roms, primary and secondary. Also, by doing a primary backup and restore to secondary, the stock rom boots as a secondary. Unfortunately, it seems to have all the same problems that it has as primary when multirom is enabled. On the bright side, CM seems to work perfectly fine as primary and secondary now.
20150528
Updated TWRP to latest upstream. Removed exfat-fuse support as well to allow it to fit. This means ROMs cannot be installed to external SDs or usb harddrives formatted as NTFS or exfat. ext2/3/4 and fat32 should work. However, inserting multirom into the stock image still breaks many things, so using multirom is still not recommended. I am hopeful that the eventual android 5.1 update will work better with multirom.
20150423
Updated multirom to fix force close of the play store on stock internal. Didn't work.​
Thanks for this! I now have grid gaming AND cm! Again thanks for your work on the shield.
Updated TWRP and Multirom. Still wouldn't call it truly usable, but at least it's workable now. Stock console mode and the play store break when multirom is in use. That's the obvious symptoms. Also noticeable is the internal sd not mounting... I still don't know how to fix it, but it seems part of the init scripts are either failing or plain not running. If you play with this, you'll want to keep a backup of a pristine boot.img around. That's what I'm doing when I want stock for a set top box. But now that adb is working in ROMs, I don't know of any problems using this with CM 12.1. That has me hopeful that if Nvidia ever gets it in gear and releases the update, this will all fall into place.
Tassadar updated the multirom TWRP to 2.8.7.0, so I ran builds. Still waiting on Nvidia before continuing with multirom research and implementation... Build in the second post.
Build updates and a success story. I can boot through the multirom boot menu to stock 103 without problems. I need to do more testing, but it looks like this is safe to use now. However, backup and restore in twrp seems broken with update 103. To the point a restored system will not boot.
Edit: Fixed the backup / restore problem. Link updated. Manager will be updated shortly.
Edit 2: Botched the kexec build apparently. Running a new one now and will update once actually tested this time.
Edit 3: Fixed the kexec kernel. But my previous CM 12.1 build won't boot as a secondary, whereas it did on the old kernel. Will have to debug this.
Does multirom work if the Shield's primary rom is KitKat? (Update 101) I haven't updated to Lollipop.
I noticed you don't have any kexec kernels for KitKat..
Steel01 said:
Introduction
MultiROM is one-of-a-kind multi-boot mod. It can boot any Android ROM as well as other systems like Ubuntu Touch, once they are ported to that device. Besides booting from device's internal memory, MultiROM can boot from USB drive connected to the device via OTG cable. The main part of MultiROM is a boot manager, which appears every time your device starts and lets you choose ROM to boot. You can see how it looks on the left image below and in gallery. ROMs are installed and managed via modified TWRP recovery. You can use standard ZIP files to install secondary Android ROMs and MultiROM even has its own installer system, which can be used to ship other Linux-based systems.
Features:
* Multiboot any number of Android ROMs
* Restore nandroid backup as secondary ROM
* Boot from USB drive attached via OTG cable
You can also watch a video which shows it in action.​
Warning!
It _is_ dangerous. This whole thing is basically one giant hack - none of these systems are made with multibooting in mind. It is no longer messing with data partition or boot sector, but it is possible that something goes wrong and you will have to flash factory images again. Make backups. Always.​
Installation
Manual installation
Firstly, there are videos on youtube. If you want, just search for "MultiROM installation" on youtube and watch those, big thanks to all who made them. There is also an awesome article on Linux Journal.
MultiROM has 3 parts you need to install:
MultiROM (multirom-YYYYMMDD-vXX-UNOFFICIAL-roth.zip) - download the ZIP file from second post and flash it in recovery.
Modified recovery (twrp-multirom-YYYYMMDD-UNOFFICIAL-roth.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 listed below or third-party kernels which include the patch, you can see list in the second post. Flash it using TWRP.
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.​
2. Ubuntu Touch
Not yet ported​
3. Firefox OS
Not yet ported, but should be as easy as other Android ports.​
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 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 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/CM-Shield/multirom (branch pad_support)
Modified TWRP - https://github.com/Tasssadar/Team-Win-Recovery-Project (branch master)
Device Tree https://github.com/CM-Shield/android_device_nvidia_roth (branch cm-12.0-mrom or twrp_min_omni)
Kernel w/ kexec-hardboot patch - https://github.com/CM-Shield/android_kernel_nvidia_roth (branch cm-12.0-mrom-new)​
XDA:DevDB Information
Shield Portable Multirom, Tool/Utility for the Nvidia Shield
Contributors
Steel01
Version Information
Status: Testing
Created 2015-04-23
Last Updated 2015-04-23
Click to expand...
Click to collapse
can you check the following tread http://forum.xda-developers.com/showthread.php?p=47964256#post47964256
they have a nice theme and its landscape mode and same resolution of the shield device
thanks
Small update.
Stock 103 boots fine as a secondary (using the copy primary to secondary function). That makes it a lot easier to experiment on the primary without having to flash back to stock anytime I want to do something not dev related.
Stock 101 does *not* currently boot as a secondary. If I set it up as primary, turn on adb, copy to secondary, then try to boot it, the logs show init blowing up all over itself. I have no idea why right now. Also, stock 101 won't work as a primary either, since things like the play store, console mode, and who know what else broke anytime I flashed a kexec kernel.
For some reason, multirom doesn't copy the boot image command line parameters into the secondaries kernel command line. This makes it difficult to disable selinux for porting purposes. I had to recompile the CM kernel with selinux disabled to get it to boot with the new blobs initially.
I expect I'll be able to fix the last point with a bit of research. At that point, dual booting CM and stock 103 should be completely feasible. I'm kinda stumped on the problem with 101, though. And since I don't plan to use it, I probably won't spend much time debugging the problem. If someone wants to look into that, I wouldn't mind helping them get started, though.
Edit:
 @paed808: No, I've removed the old kitkat kexec kernel for reasons stated above. I could boot into CM as a secondary with stock kitkat without problem; however, that broke stock so bad, I considered it unusable.
@Steel01 I just wanted to know just in case I accidentally enable Multirom while flashing a zip in TWRP. I don't want to use Multirom on my Shield Portable. I have a Nexus 7 for that. I just want TWRP, but this is the only TWRP for the NSP. If I accidentally enable Multirom what happens? Does it inject itself in the bootloader? If that fails, will it result in a brick?
paed808 said:
@Steel01 I just wanted to know just in case I accidentally enable Multirom while flashing a zip in TWRP. I don't want to use Multirom on my Shield Portable. I have a Nexus 7 for that. I just want TWRP, but this is the only TWRP for the NSP. If I accidentally enable Multirom what happens? Does it inject itself in the bootloader? If that fails, will it result in a brick?
Click to expand...
Click to collapse
Nah, it's really hard to brick one of these. Trust me, I overwrote the partition table and still was able to recover... (don't try that at home). As long as you don't flash the multirom zip, you won't even be able to access the multirom section inside TWRP and it won't inject itself during any other flashing.
The reason that this is the only truly working (and maintained) recovery on the Portable is because it has the screen rotation code. I couldn't get that to work properly for CWM (and agabren never released his code and won't respond to any contact about it) and upstream TWRP doesn't have it either. So, multirom TWRP is it. But as mentioned above, as long as you don't flash the multirom zip, it should act exactly like the upstream TWRP.
As a fun side note: There are two things that I currently know of that can brick a Shield device (Portable, Tablet, and TV)
1. Overwrite or delete the bootloader. That's the blob partition to fastboot. So yeah, be very careful when fastboot flashing that one.
2. Put something android doesn't recognize in the dtb partition. I actually didn't know this one until recently. The bootloader interacts with this partition during early boot, like before it hands off to boot.img. And apparently, that's the only way the bootloader will read a dtb and hand it off to the kernel. Yeah... so, I've been pretty lucky in my testing that I didn't brick my device by flashing something else there (like an upstream linux version, don't do that).
Interestingly, you can completely obliterate the partition table and the bootloader will still run. However, it won't be able to find the LNX partition to continue booting. But you can fastboot boot whatever you want (like Linux on an sdcard). Moral of the story: Don't let Linux 'fix' your internal GPT for you... You might have to pull favors with other Shield owners to undo that one. Well, I now keep a dd'ed copy of that GPT, just in case.
@Steel01. Thanks for the detailed explanation. Now I know what "blob" and "dtb" are. I thought just the boot.img was the bootloader, as it is on most Android devices.
Alright, I think this is finally ready for prime time. CM 12.1 and Stock 103 should work as primary or secondary without problem. If you see a problem, please report it. If you've got an older version installed, you'll want to reinstall almost everything: multirom, secondaries, kexec, etc. TWRP and the primary rom should be fine as is, though.
I was able to get Stock 101 to boot as a secondary. However, it's still not all there. The internal sd stuff doesn't all mount, causing all kinds of ugly problems, not the least of which is the Play Store crashing. I can manually run 'start sdcard' as root to get /mnt/shell/emulated mounted, but the links under /storage don't come up. At least at that point, the store works and it seems streaming and all that is fine. However, the main internal sd path (/storage/emulated/0) remains empty. So, not really a fully usable setup.
Edit:
Okay, so that was weird. I left my Portable booted into 101 for a bit. When I came back, all the internal sd mounts were correct. Eh? Maybe stuff refreshed after a bit and picked up the sdcard bind mount? Slightly confused, but it seems there is a way to make this work. Will probably look into this more eventually.
Does this break miracast, or is it a problem with lollipop? I edited system/build.prop and added persist.debug.wfd.enable=1 which allowed me to see my miracast adapters but it just disconnects and fails to pair. Running 103 stock rooted with your multimod recovery set up, but only internal stock rom with modified kernel. I can however cast the scrren through netflix app, thats it, hulu doesnt see them and i cant mirror screen. Thanks for any info!
Sent from my SAMSUNG-SM-G900A
the miracast its a problen with lolipop, but for you use the multi rom with last cm you need the shield using the update 103 with is lolipop
Working on my Shield portable using 103 and your CM Rom. Straightforward install but didn't know where to find CM Rom at first. One issue, downloads in CM were not accessible ( message cant open file) but were found in 103 downloads? Did I use wrong patch? Thks
Why an I not getting email updates to this thread... Sorry for the slow response.
Yeah, Google removed miracast support in Lollipop. I've never used screen casting, so I can't comment further than that.
Downloads in CM are not available? Do you mean that CM cannot access the internal SD download folder? If so, is the rest of the internal SD accessible? I'll check tonight when I can get my hands on my Portable.
You want the patch for whatever your internal ROM is. Though technically, you don't even need a primary ROM, that's what I'm have for testing right now. Everything is secondaries. In which case, you can use whatever boot image you want. Wouldn't recommend this for normal usage, though. The Portable is already short on space...
secondary Rom will only read offf of ext sdcard, not internal storage?
Edit: Storage now working. Don't know what changed. Rooted CM with Kingroot. 103 seems snappier than CM.
I was wondering if there was a permissions issue because it worked fine for me. But I'm using the newer cm build from later in the thread and not the stable one in the OP. And... Don't use root methods on CM... It's built in and in the developer options menu.

[MOD][AUGUST 1][Moto G 2015] MultiROM v33a [No Kexec Workaround]

{
"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 Moto G 2015. It can boot any Android ROM as well as other systems like Ubuntu Touch, Plasma Active, Bohdi Linux or WebOS port, once they are ported to our 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, 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, once they are ported to the Moto X Play
* Boot from USB drive attached via OTG cable
Warning!
It _is_ dangerous. This whole thing is basically one giant hack - none of these systems are made with multibooting in mind. It is messing with boot sector and data partition. It is no longer messing with data partition or boot sector, but it is possible that something goes wrong and you will have to flash factory images again. Make backups. Always.​
Installation
1. Via MultiROM Manager app (We do not have Official Support, so this is not an option for us yet)
This is the easiest way to install everything MultiROM needs. Install the app (Not for Moto X Play) 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 (If you want to use Kexec) - 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:
Modified recovery (TWRP_multirom_osprey_YYYYMMDD.img) - download the IMG file from second post and use fastboot, TWRP or Flashify app to flash it.
Patched kernel - you can find it in the second post. Download the ZIP file and flash it in recovery. You can use any 3rd-party kernel which include the patch.
MultiROM (multirom-YYYYMMDD-vXX-osprey-signed.zip) - download the ZIP file from second post 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.​
Using USB drive (not tested yet)
During installation, recovery lets you select install location. Plug in the USB drive, wait a while and press "refresh" so that it shows partitions on the USB drive. You just select the location (extX, NTFS and FAT32 partitions are supported) and proceed with the installation.
If you wanna use other than default FAT32 partition, just format it in PC. If you don't know how/don't know where to find out how, you probably should not try installing MultiROM.
If you are installing to NTFS or FAT32 partition, recovery asks you to set image size for all the partitions - this cannot be easilly changed afterward, so choose carefully. FAT32 is limited to maximum of 4095MB per image - it is limitation of the filesystem, I can do nothing about that.
Installation to USB drives takes a bit longer, because the flash drive is (usually) slower and it needs to create the images, so installation of Ubuntu to 4Gb image on my pretty fast USB drive takes about 20 minutes.
Enumerating USB drive can take a while in MultiROM menu, so when you press the "USB" button in MultiROM, wait a while (max. 30-45s) until it searches the USB drive. It does it by itself, no need to press something, just wait.​
Updating/changing ROMs
1. Primary ROM (Internal)
Flash ROM's ZIP file as usual, do factory reset if needed (it won't erase secondary ROMs)
Go to Advanced -> MultiROM in recovery and do Inject curr. boot sector.
2. Secondary Android ROMs
If you want to change the ROM, delete it and add new one. To update ROM, follow these steps:
Go to Advanced -> MultiROM -> List ROMs and select the ROM you want to update.
Select "Flash ZIP" and flash ROM's ZIP file.
In some cases, you might need to flash patched kernel - get coresponding patched kernel version from second post and flash it to the secondary ROM sama way you flashed ROM's ZIP file.
Explanation of recovery menus
Main menu
- Add ROM - add ROM to boot
- List ROMs - list installed ROMs and manage them
- Inject boot.img file - When you download for example kernel, which is distrubuted as whole boot.img (eg. franco kernel), you have to use this option on it, otherwise you would lose MultiROM.
- Inject curr. boot sector - Use this option if MultiROM does not show up on boot, for example after kernel installation.
- Settings - well, settings.
Manage ROM
- Rename, delete - I believe these are obvious
- Flash ZIP (only Android ROMs) - flash ZIP to the ROM, for example gapps
- Add/replace boot.img - replaces boot.img used by this ROM, this is more like developer option.
- Re-patch init - this is available only for ubuntu. Use it when ubuntu cannot find root partition, ie. after apt-get upgrade which changed the init script.​
Source code
MultiROM - https://github.com/multirom-redmi2/multirom (branch master)
Modified TWRP - https://github.com/Tasssadar/Team-Win-Recovery-Project (branch android-6.0)
Device Tree - https://github.com/Multirom-Lux/android_device_motorola_osprey/tree/twrp-precommon​
Donations (Please donate to the Creator @Tasssadar )
I'd be glad if you could spare a few bucks. You can use either paypal or Bitcoins, my address is 172RccLB2ffSnJyYwjYbUD3Nx4QX3R8Ris
​
Downloads
1. Main downloads
MultiROM: https://www.androidfilehost.com/?fid=24591000424951534
Modified recovery (based on TWRP): https://www.androidfilehost.com/?fid=24591000424949588
Multirom Uninstaller: https://www.androidfilehost.com/?fid=24591000424949587​
2. third-party kernels with kexec-hardboot patch (Not needed)​
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.​I have not tested it yet, as i never used ENCRYPTION on my device, will try to see if there are issues and more users for this use case
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.​By default /external_sd is mounted and is used to store the 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.​
Can I flash secondary roms on Micro SD?
Yes but it's is very slow, internal storage is much better to flash secondary roms.​
How do I flash Gapps in Secondary ROMs?
After AddRom and is done, go back and Click on the installed Secondary ROM, you will see one of the option to 'Flash Zip', click and install Gapps. Then you can reboot into secondary ROMs, do gapps installation before rebooting otherwise as usual need to deal with SetupWizard FC, at least thats what I observe in my device.​
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:
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
.
OnePlus One (starting here) by @KINGbabasula
Sony Xperia Z5 by @Myself5
(possibly Samsung Note 4, unsure if that was continued or not)
Others; unofficial builds?
Credits to:
@premaca (For helping with bringup)
@squid2 (For TWRP trees)
@Hashbang173 (Guiding me with no kexec workaround)
@nkk71 (For kexec workaround)
@Flashhhh & @androidbaba (For testing)
@GtrCraft thanks man for bringing multiboot to osprey. Btw Which roms are supported as of now with this?
sagar27691 said:
@GtrCraft thanks man for bringing multiboot to osprey. Btw Which roms are supported as of now with this?
Click to expand...
Click to collapse
Every rom for osprey
Sent from my XT1562 using XDA Labs
GtrCraft said:
Every rom for osprey
Sent from my XT1562 using XDA Labs
Click to expand...
Click to collapse
Won't work on merlin ??
Although i know merlin has just a few roms !!!!
gregferns said:
Won't work on merlin ??
Although i know merlin has just a few roms !!!!
Click to expand...
Click to collapse
No
GtrCraft said:
Every rom for osprey
Sent from my XT1562 using XDA Labs
Click to expand...
Click to collapse
ohk... great... thanks
Good work @GtrCraft
Sent from my MotoG3 using XDA-Developers mobile app
Nice, congrats on the release. :good::good:
I need to fix up that text regarding the no-kexec workaround, since "lingering primary_boot.img" is no longer an issue... at worst a "lost/missing primary_boot.img" could be an issue, but I have not encountered / heard of it yet
Nice 1 gt am so glad ur developing for osprey!!
Thank you very much for your precious development for osprey...
But is it possible to get touch instead of hardware keys to select Roms while boot.
awesome work guys
actaully i cant install rom on ext-sdcard (as formated internal ) as it says failed to fixup roms name while adding rom on ext-sdcard and second i cant install dirty unicorn rom
and last there is not showing all files on my internal and external storage in recovery even my roms for installing sorry for my bad english
again thank you all guys for doing a great job
samirza692 said:
awesome work guys
actaully i cant install rom on ext-sdcard (as formated internal ) as it says failed to fixup roms name while adding rom on ext-sdcard and second i cant install dirty unicorn rom
and last there is not showing all files on my internal and external storage in recovery even my roms for installing sorry for my bad english
again thank you all guys for doing a great job
Click to expand...
Click to collapse
Dont install roms on ext sd card
Sent from my XT1562 using XDA Labs
nkk71 said:
Nice, congrats on the release. :good::good:
I need to fix up that text regarding the no-kexec workaround, since "lingering primary_boot.img" is no longer an issue... at worst a "lost/missing primary_boot.img" could be an issue, but I have not encountered / heard of it yet
Click to expand...
Click to collapse
Yeah, pm me if you have anything new
Sent from my XT1562 using XDA Labs
Arcade said:
Thank you very much for your precious development for osprey...
But is it possible to get touch instead of hardware keys to select Roms while boot.
Click to expand...
Click to collapse
The testers told me touch does work
Sent from my XT1562 using XDA Labs
GtrCraft said:
The testers told me touch does work
Sent from my XT1562 using XDA Labs
Click to expand...
Click to collapse
Touch is not working. I mean touch is working in multirom twrp but once you switch on the phone it gives option to chose which one we have to install there touch is not working I am able to choose only by using harware volume keys...
Anyone else facing similar problem. If I m only one who is facing this what is gone wrong help me fix it please.
Arcade said:
Touch is not working. I mean touch is working in multirom twrp but once you switch on the phone it gives option to chose which one we have to install there touch is not working I am able to choose only by using harware volume keys...
Anyone else facing similar problem. If I m only one who is facing this what is gone wrong help me fix it please.
Click to expand...
Click to collapse
Yes +1
Touch not working while selecting which ROM to boot
Everything else works perfectly though
Thanks @grtcraft for your efforts
Sent from my MotoG3 using XDA-Developers mobile app

Categories

Resources