Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,813,583 Members 37,901 Now Online
XDA Developers Android and Mobile Development Forum

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

Tip us?
 
peppethustra
Old
(Last edited by peppethustra; 8th September 2014 at 12:47 PM.)
#1  
peppethustra's Avatar
Senior Member - OP
Thanks Meter 321
Posts: 551
Join Date: Nov 2012
Location: Catanzaro

 
DONATE TO ME
-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/show....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/show...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).
My actual devices:
LG-P880 - Beanstalk 4.4.4/LiquidSmooth 3.2 powered by Mourta - Mourta/Iodak v10 based kernel
Asus ME301T - Beanstalk 4.4.2 - Geass Kernel


If you want to try Mourta's Kernel and ROM, use the links below:
Mourta Kernel
LiquidSmooth 3.2 powered by Mourta
The Following 9 Users Say Thank You to peppethustra For This Useful Post: [ Click to Expand ]
 
Fladder72
Old
(Last edited by Fladder72; 4th September 2014 at 03:36 PM.)
#2  
Senior Member
Thanks Meter 101
Posts: 256
Join Date: Feb 2012
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...
LGE 4X HD Tegra Variant 0, the weak one...
Primary ROM: NamelessROM 4.4.2 Nightlies | Kernel: Iodak v10 @ 1700
Secondary ROM:Vanir 4.4.2 Nuclear Mistake | Kernel: Iodak v10 @ 1700
Secondary ROM:JellyFishHD 1.3 (Stock based V20b Euro Open) | Kernel: Iodak v10 @ 1700
The Following User Says Thank You to Fladder72 For This Useful Post: [ Click to Expand ]
 
peppethustra
Old
#3  
peppethustra's Avatar
Senior Member - OP
Thanks Meter 321
Posts: 551
Join Date: Nov 2012
Location: Catanzaro

 
DONATE TO ME
Quote:
Originally Posted by Fladder72 View Post
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...
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
My actual devices:
LG-P880 - Beanstalk 4.4.4/LiquidSmooth 3.2 powered by Mourta - Mourta/Iodak v10 based kernel
Asus ME301T - Beanstalk 4.4.2 - Geass Kernel


If you want to try Mourta's Kernel and ROM, use the links below:
Mourta Kernel
LiquidSmooth 3.2 powered by Mourta
 
Fladder72
Old
(Last edited by Fladder72; 4th September 2014 at 03:54 PM.)
#4  
Senior Member
Thanks Meter 101
Posts: 256
Join Date: Feb 2012
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
LGE 4X HD Tegra Variant 0, the weak one...
Primary ROM: NamelessROM 4.4.2 Nightlies | Kernel: Iodak v10 @ 1700
Secondary ROM:Vanir 4.4.2 Nuclear Mistake | Kernel: Iodak v10 @ 1700
Secondary ROM:JellyFishHD 1.3 (Stock based V20b Euro Open) | Kernel: Iodak v10 @ 1700
 
peppethustra
Old
(Last edited by peppethustra; 4th September 2014 at 04:02 PM.)
#5  
peppethustra's Avatar
Senior Member - OP
Thanks Meter 321
Posts: 551
Join Date: Nov 2012
Location: Catanzaro

 
DONATE TO ME
Quote:
Originally Posted by Fladder72 View Post
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
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!
My actual devices:
LG-P880 - Beanstalk 4.4.4/LiquidSmooth 3.2 powered by Mourta - Mourta/Iodak v10 based kernel
Asus ME301T - Beanstalk 4.4.2 - Geass Kernel


If you want to try Mourta's Kernel and ROM, use the links below:
Mourta Kernel
LiquidSmooth 3.2 powered by Mourta
 
Fladder72
Old
(Last edited by Fladder72; 4th September 2014 at 04:23 PM.)
#6  
Senior Member
Thanks Meter 101
Posts: 256
Join Date: Feb 2012
Curiously the device boots any ROM while it's connected via USB, without hold down Power button for restart...
LGE 4X HD Tegra Variant 0, the weak one...
Primary ROM: NamelessROM 4.4.2 Nightlies | Kernel: Iodak v10 @ 1700
Secondary ROM:Vanir 4.4.2 Nuclear Mistake | Kernel: Iodak v10 @ 1700
Secondary ROM:JellyFishHD 1.3 (Stock based V20b Euro Open) | Kernel: Iodak v10 @ 1700
 
peppethustra
Old
#7  
peppethustra's Avatar
Senior Member - OP
Thanks Meter 321
Posts: 551
Join Date: Nov 2012
Location: Catanzaro

 
DONATE TO ME
Quote:
Originally Posted by Fladder72 View Post
Curiously the device boots any ROM while it's connected via USB, without hold down Power button for restart...
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
My actual devices:
LG-P880 - Beanstalk 4.4.4/LiquidSmooth 3.2 powered by Mourta - Mourta/Iodak v10 based kernel
Asus ME301T - Beanstalk 4.4.2 - Geass Kernel


If you want to try Mourta's Kernel and ROM, use the links below:
Mourta Kernel
LiquidSmooth 3.2 powered by Mourta
 
dimi89
Old
#8  
dimi89's Avatar
Senior Member
Thanks Meter 216
Posts: 773
Join Date: Mar 2009
@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 ?
****LG 4x -Experimenting with different roms- ****

P.S.If someone help you it is polite to say "Thank you" (in this case hit "Thank you" button
The Following User Says Thank You to dimi89 For This Useful Post: [ Click to Expand ]
 
Fladder72
Old
(Last edited by Fladder72; 4th September 2014 at 05:39 PM.)
#9  
Senior Member
Thanks Meter 101
Posts: 256
Join Date: Feb 2012
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.
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...
LGE 4X HD Tegra Variant 0, the weak one...
Primary ROM: NamelessROM 4.4.2 Nightlies | Kernel: Iodak v10 @ 1700
Secondary ROM:Vanir 4.4.2 Nuclear Mistake | Kernel: Iodak v10 @ 1700
Secondary ROM:JellyFishHD 1.3 (Stock based V20b Euro Open) | Kernel: Iodak v10 @ 1700
 
peppethustra
Old
#10  
peppethustra's Avatar
Senior Member - OP
Thanks Meter 321
Posts: 551
Join Date: Nov 2012
Location: Catanzaro

 
DONATE TO ME
Quote:
Originally Posted by dimi89 View Post
@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 ?
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
My actual devices:
LG-P880 - Beanstalk 4.4.4/LiquidSmooth 3.2 powered by Mourta - Mourta/Iodak v10 based kernel
Asus ME301T - Beanstalk 4.4.2 - Geass Kernel


If you want to try Mourta's Kernel and ROM, use the links below:
Mourta Kernel
LiquidSmooth 3.2 powered by Mourta

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes