FORUMS
Remove All Ads from XDA

 View Poll Results: Do you use MultiROM on AOSP ROMs or CM11s?

AOSP
 
389 Vote(s)
37.80%
CM11s
 
640 Vote(s)
62.20%

[MOD] MultiROM v33b

2,223 posts
Thanks Meter: 5,202
 
By KINGbabasula, Recognized Developer on 2nd August 2014, 11:28 AM
Post Reply Subscribe to Thread Email Thread
Introduction

MultiROM for the Oneplus One
MultiROM is one-of-a-kind multi-boot mod for Oneplus One. 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
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.

You can install it either from MultiROM Manager app or from this guide:

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 - download the ZIP file from second post and flash it in recovery.
  • Modified recovery - download the IMG file from second post and use fastboot or Flashify app to flash it.
  • Patched kernel - You can use either one of the stock ones in second post or third-party kernels which include the patch, you can see list in the second post. Download the ZIP file and flash it in recovery.
You current rom will not be erased by the installation.
Download links are in the second post.


Adding ROMs
1. Android
Go to recovery, select Advanced -> MultiROM -> Add ROM. Select the ROM's zip file and confirm. As for the space, clean installation of stock 4.2 after first boot (with dalvik cache generated and connected to google account) takes 676mb of space.
2. Ubuntu Touch
Use the MultiROM Manager app to install Ubuntu Touch.

Ubuntu Touch is in development - MultiROM will have to be updated to keep up with future changes in Ubuntu, so there's a good chance this method stops working after a while and I'll have to fix it.
3. Firefox OS
Firefox OS is just another Android ROM from MultiROM's point of view, so add it as if it were Android


Using USB drive
During installation, recovery lets you select install location. Plug in the USB drive, wait a while and press "refresh" so that it shows partitions on the USB drive. You just select the location (extX, NTFS and FAT32 partitions are supported) and proceed with the installation.
If you wanna use other than default FAT32 partition, just format it in PC. If you don't know how/don't know where to find out how, you probably should not try installing MultiROM.
If you are installing to NTFS or FAT32 partition, recovery asks you to set image size for all the partitions - this cannot be easilly changed afterward, so choose carefully. FAT32 is limited to maximum of 4095MB per image - it is limitation of the filesystem, I can do nothing about that.
Installation to USB drives takes a bit longer, because the flash drive is (usually) slower and it needs to create the images, so installation of Ubuntu to 4Gb image on my pretty fast USB drive takes about 20 minutes.
Enumerating USB drive can take a while in MultiROM menu, so when you press the "USB" button in MultiROM, wait a while (max. 30-45s) until it searches the USB drive. It does it by itself, no need to press something, just wait.


Updating/changing ROMs
1. Primary ROM (Internal)
  • Flash ROM's ZIP file as usual, do factory reset if needed (it won't erase secondary ROMs)
  • Go to Advanced -> MultiROM in recovery and do Inject curr. boot sector.
2. Secondary Android ROMs
If you want to change the ROM, delete it and add new one. To update ROM, follow these steps:
  • Go to Advanced -> MultiROM -> List ROMs and select the ROM you want to update.
  • Select "Flash ZIP" and flash ROM's ZIP file.


Source code
MultiROM - https://github.com/Tasssadar/multirom/tree/master (branch master)
Modified TWRP - https://github.com/Tasssadar/Team-Win-Recovery-Project (branch master)
Kernel w/ kexec-hardboot patch - https://github.com/KINGbabasula/andr...neplus_msm8974
MultiROM device tree - https://github.com/KINGbabasula/andr..._oneplus_bacon
Thanks a lot to Tasssadar for creating this awesome utility.

Thanks to ATMOSF3AR for his Oneplus One template

XDA:DevDB Information
MultiROM, Tool/Utility for the OnePlus One

Contributors
KINGbabasula
Source Code: https://github.com/Tasssadar/multirom


Version Information
Status: Stable
Current Stable Version: 33

Created 2014-08-02
Last Updated 2016-04-17
Attached Thumbnails
Click image for larger version

Name:	rsz_multirom.png
Views:	41315
Size:	237.5 KB
ID:	2920417   Click image for larger version

Name:	rsz_1multirom.png
Views:	46080
Size:	44.2 KB
ID:	2920423  
Last edited by KINGbabasula; 21st February 2016 at 12:21 PM.
The Following 255 Users Say Thank You to KINGbabasula For This Useful Post: [ View ]
 
 
2nd August 2014, 11:28 AM |#2  
KINGbabasula's Avatar
OP Recognized Developer
Flag Treviso
Thanks Meter: 5,202
 
Donate to Me
More
Reserved
Downloads
1. Main downloads

MultiROM: Zip

Modified recovery (based on TWRP): recovery.img

Kernel with kexec hardboot patch:
Supported kernels: AK, Furnace

You need to have kernel with kexec-hardboot patch only in primary ROM

Nicely ask your kernel developer to merge this https://github.com/KINGbabasula/andr...2b01536620ebf5.
3. Uninstaller

MultiROM uninstaller: Zip
Flash this ZIP file to remove MultiROM from your device. It will erase all secondary ROMs. If you don't want MultiROM menus in recovery, re-flash clean TWRP, but it is not needed - those menus don't do anything if MultiROM is not installed.
Last edited by KINGbabasula; 17th March 2015 at 09:17 PM.
The Following 103 Users Say Thank You to KINGbabasula For This Useful Post: [ View ]
2nd August 2014, 11:28 AM |#3  
KINGbabasula's Avatar
OP Recognized Developer
Flag Treviso
Thanks Meter: 5,202
 
Donate to Me
More
Reserved
FAQ and other notes
About security
In order to make multi-booting possible, MultiROM has to sacrifice some security measures. Firstly, on secondary Android ROMs, /system is not mounted read-only. While there are other things preventing malicious software from messing with /system, this might potentialy make it easier for such software to attack that system.
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.
Where can I find files from other ROMs?
http://forum.xda-developers.com/show...postcount=1864
Can I have different versions of Android working alongside? How to use KitKat and Lollipop at the same time?
Yes. The systems are separated.
guide on Kitakt + Lollipop: http://forum.xda-developers.com/onep...6#post58776196
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.
The boot animation shows after a few seconds on primary ROMs, why?
Because the framebuffer gets blanked for a few seconds after it gets closed by MultiROM.
Can I use MultiROM without root?
Yes, if you don't use MultiROM Manager app but flash everything manually
Will I get OTAs when I have MultiROM installed? Do I lose secondary ROMs after an OTA?
Probably not, you will have to install them manually and you'll have to reinstall MultiROM
No, you won't lose secondary ROMs
My secondary ROM doesn't boot, what should I do?
Probably you forgot to inject current boot sector once, MultiROM didn't run, so /data SELinux context is set to secondary ROMs that are in /data/media so secondary /system has /data contexts.
Go into recovery Advanced > MultiROM > List ROMs > Choose the non booting ROM > Run restorecon
This will fix SELinux contexts and the ROM will boot again
Help Videos
Install MultiROM


Install OxygenOS as secondary ROM
Last edited by KINGbabasula; 15th April 2015 at 06:21 PM.
The Following 67 Users Say Thank You to KINGbabasula For This Useful Post: [ View ]
2nd August 2014, 12:05 PM |#4  
nfl46's Avatar
Senior Member
Thanks Meter: 197
 
More
Yeahhhhhh, finally! Thanks!!
2nd August 2014, 12:10 PM |#5  
thejaimes111's Avatar
Senior Member
Flag Canary Islands
Thanks Meter: 70
 
Donate to Me
More
Amazing, thank you bro!
The Following 3 Users Say Thank You to thejaimes111 For This Useful Post: [ View ] Gift thejaimes111 Ad-Free
2nd August 2014, 12:33 PM |#6  
phoenixita's Avatar
Recognized Contributor
Flag Civitavecchia
Thanks Meter: 2,271
 
Donate to Me
More
Amazing! Reserved for impressions!
2nd August 2014, 12:48 PM |#7  
bud77's Avatar
Senior Member
Flag Near Paris
Thanks Meter: 482
 
Donate to Me
More
Woot !!!!!!! Donation incoming, as promised

Also, what kernel is yours based on ?

And finally, is it compatible with official multirom manager ?

Edit : Donation done : 2D0766769R4457313
Last edited by bud77; 2nd August 2014 at 12:52 PM.
The Following 3 Users Say Thank You to bud77 For This Useful Post: [ View ] Gift bud77 Ad-Free
2nd August 2014, 12:52 PM |#8  
KINGbabasula's Avatar
OP Recognized Developer
Flag Treviso
Thanks Meter: 5,202
 
Donate to Me
More
Quote:
Originally Posted by bud77

Woot !!!!!!! Donation incoming, as promised

Also, what kernel is yours based on ?

And finally, is it compatible with official multirom manager ?

My kernel is cm11 (not cm11s)with kexec. So it won't work on cm11s, Paranoid android and cm11s based roms.
Tomorrow is the last time I'll use pc before leaving so I may add support in multirom manager and build an unofficial version of the app because it's not officially supported
The Following 6 Users Say Thank You to KINGbabasula For This Useful Post: [ View ]
2nd August 2014, 12:59 PM |#9  
bud77's Avatar
Senior Member
Flag Near Paris
Thanks Meter: 482
 
Donate to Me
More
Thanks, again !

Did you try to get in touch with @Tasssadar for the frame buffer issue ?
2nd August 2014, 01:01 PM |#10  
KINGbabasula's Avatar
OP Recognized Developer
Flag Treviso
Thanks Meter: 5,202
 
Donate to Me
More
Quote:
Originally Posted by bud77

Thanks, again !

Did you try to get in touch with @Tasssadar for the frame buffer issue ?

I tried on hangouts but I guess he doesn't use it. I think I should port a few things from TWRP into MultiROM because it seems they use the same way of rendering images.
The Following 2 Users Say Thank You to KINGbabasula For This Useful Post: [ View ]
2nd August 2014, 02:17 PM |#11  
Junior Member
Thanks Meter: 5
 
More
Thank you very much for your efforts,
Last edited by yx868868; 2nd August 2014 at 02:19 PM.
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes