Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,738,501 Members 47,421 Now Online
XDA Developers Android and Mobile Development Forum

[MOD][JUN 27] MultiROM v26

Tip us?
 
Tasssadar
Old
(Last edited by Tasssadar; 27th June 2014 at 10:13 PM.)
#1  
Tasssadar's Avatar
Recognized Developer - OP
Thanks Meter 4276
Posts: 676
Join Date: Dec 2010
Location: Brno

 
DONATE TO ME
Default [MOD][JUN 27] MultiROM v26

Introduction
MultiROM is one-of-a-kind multi-boot modification, which can boot any Android ROM as well as other systems like Ubuntu Touch, Plasma Active, Bohdi Linux or WebOS port. Besides booting from device's internal memory, MultiROM can boot from USB drive connected to the device via OTG cable. The main part of MultiROM is a boot manager, which appears every time your device starts and lets you choose ROM to boot. You can see how it looks on the left image below and in gallery. ROMs are installed and managed via modified TWRP recovery. You can use standard ZIP files to install secondary Android ROMs 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!
I don't own mako, so I can obviously provide only limited support. Big thanks goes to flash5000 and oblikas, who helped me get MultiROM to this device

It _is_ dangerous. This whole thing is basically one giant hack - none of these systems are made with multibooting in mind. It is no longer messing with data partition or boot sector, but it is possible that something goes wrong and you will have to flash factory images again. Make backups. Always.


Installation
1. Via MultiROM Manager app
This is the easiest way to install everything MultiROM needs. Install the app and select MultiROM and recovery on the Install/Update card. If the Status card says Kernel: doesn't have kexec-hardboot patch! in red letters, you have to install also patched kernel - either select one on the Install/Update card or get some 3rd-party kernel here on XDA. You are chosing kernel for your primary ROM, not any of your (future) secondary ROMs, so select the version accordingly.
Press "Install" on the Install/Update card to start the installation.
2. Manual installation
Firstly, there are videos on youtube. If you want, just search for "MultiROM installation" on youtube and watch those, big thanks to all who made them. There is also an awesome article on Linux Journal.

Note 1: Your device must not be encrypted (hint: if you don't know what it is, then it is not encrypted).

MultiROM has 3 parts you need to install:
  • MultiROM (multirom-YYYYMMDD-vXX-mako.zip) - download the ZIP file from second post and flash it in recovery.
  • Modified recovery (TWRP_multirom_mako_YYYYMMDD.img) - download the IMG file from second post and use fastboot or Flashify app to flash it.
  • Patched kernel - You can use either one of the stock ones in second post or third-party kernels which include the patch, you can see list in the second post. Download the ZIP file and flash it in recovery. You chose this kernel for the primary ROM, so get the version your primary ROM is based of.
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 (guide by Riro Zizo)
* Download both system and UI ZIP files from Firefox OS thread.
* Put both files to your /sdcard and go to recovery, Advanced -> MultiROM -> Add ROM.
* Select Android as ROM type and select "don't share kernel". Tap next, select ZIP file and select the system ZIP of Firefox OS.
* When it is installed, go to Advanced -> MultiROM -> List ROMs -> *name of firefox os ROM* -> Flash ZIP and select the UI ZIP file.


Using USB drive
I'm told that OTG on mako does not exactly work very well and needs external power supply. If you do that however, MultiROM should be able to use USB drives, the principle is the same on all devices.


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


Source code
MultiROM - https://github.com/Tasssadar/multirom/tree/master (branch master)
Modified TWRP - https://github.com/Tasssadar/Team-Win-Recovery-Project (branch master)
Kernel w/ kexec-hardboot patch - https://github.com/Tasssadar/android_kernel_google_msm

Donations
I'd be glad if you could spare a few bucks. You can use either paypal or Bitcoins, my address is 172RccLB2ffSnJyYwjYbUD3Nx4QX3R8Ris
Thanks to all donors, it is much appreciated
Attached Thumbnails
Click image for larger version

Name:	screenshot.jpg
Views:	21409
Size:	59.8 KB
ID:	2306344   Click image for larger version

Name:	screenshot_14.jpg
Views:	19463
Size:	85.4 KB
ID:	2306345   Click image for larger version

Name:	screenshot_09.jpg
Views:	17611
Size:	49.9 KB
ID:	2306346   Click image for larger version

Name:	screenshot_10.jpg
Views:	17009
Size:	125.4 KB
ID:	2306347   Click image for larger version

Name:	screenshot_11.jpg
Views:	17069
Size:	71.8 KB
ID:	2306349  

Click image for larger version

Name:	screenshot_12.jpg
Views:	16697
Size:	73.1 KB
ID:	2306350   Click image for larger version

Name:	screenshot_13.jpg
Views:	15293
Size:	83.8 KB
ID:	2306351   Click image for larger version

Name:	screenshot_17.jpg
Views:	15062
Size:	100.6 KB
ID:	2306352  
The Following 195 Users Say Thank You to Tasssadar For This Useful Post: [ Click to Expand ]
 
Tasssadar
Old
(Last edited by Tasssadar; 27th June 2014 at 10:13 PM.)
#2  
Tasssadar's Avatar
Recognized Developer - OP
Thanks Meter 4276
Posts: 676
Join Date: Dec 2010
Location: Brno

 
DONATE TO ME
Downloads
1. Main downloads

MultiROM: multirom-20140627-v26-mako.zip
Modified recovery (based on TWRP): TWRP_multirom_mako_20140605.img
MultiROM Manager Android app: Google Play or link to APK

Kernel w/ kexec-hardboot patch (Stock 4.2.2): kernel_kexec_mako_422_jdq.zip
Kernel w/ kexec-hardboot patch (Stock 4.3 (version JWR)): kernel_kexec_mako_430_jwr.zip
Kernel w/ kexec-hardboot patch (Stock 4.3 (version JSS)): kernel_kexec_mako_430_jss.zip
Kernel w/ kexec-hardboot patch (Stock 4.4): kernel_kexec_mako_440.zip
Kernel w/ kexec-hardboot patch (Stock 4.4.1 and 4.4.2): kernel_kexec_mako_441.zip
Kernel w/ kexec-hardboot patch (Stock 4.4.3 and 4.4.4): kernel_kexec_mako_443.zip
Kernel w/ kexec-hardboot patch (CM 10.2 - old): kernel_kexec_mako_cm102_old.zip
Kernel w/ kexec-hardboot patch (CM 10.2 - new): kernel_kexec_mako_cm102-2.zip
Kernel w/ kexec-hardboot patch (CM 11 (4.4 - 4.4.2)): kernel_kexec_mako_cm11-5-a7e944881c.zip
Kernel w/ kexec-hardboot patch (CM 11 (4.4.3 - 4.4.4)): kernel_kexec_mako_cm11-6-3e965088f9.zip
You need to have kernel with kexec-hardboot patch in both primary ROM and secondary ROMs, if said secondary ROM does not share kernel!

Mirror: http://goo.im/devs/Tassadar/multirom/mako/ (also accessible via GooManager, search for multirom)
2. Third-party kernels with kexec-hardboot patch
franco.Kernel - http://forum.xda-developers.com/show....php?t=2002782
Trinity Four - http://forum.xda-developers.com/show....php?t=2083904
BMC kernel - http://forum.xda-developers.com/show....php?t=2429947
AK kernel - http://forum.xda-developers.com/show....php?t=2473454
hells-Core - http://forum.xda-developers.com/show...php?p=46735725
faux123's kernel - http://forum.xda-developers.com/show....php?t=2008222
Ampang's kernel - http://forum.xda-developers.com/show....php?t=2579901
Aufa's kernel - http://forum.xda-developers.com/show....php?t=2576201

Nicely ask your kernel developer to merge http://forum.xda-developers.com/show...php?p=46223952
3. Uninstaller

MultiROM uninstaller: multirom_uninstaller-mako.zip
Flash this ZIP file to remove MultiROM from your device. It will erase all secondary ROMs. If you don't want MultiROM menus in recovery, re-flash clean TWRP, but it is not needed - those menus don't do anything if MultiROM is not installed.


Changelog
Code:
Select Code
MultiROM v26
=====================
* Fix boot into secondary ROM from the MultiROM Manager app broken in v25

MultiROM v25
=====================
* Add support for the Android L preview

MultiROM v24
=====================
* Add F2FS support
* Show icons in ROM list, configurable via MultiROM Manager app
* Improve compatibility with different ROMs and kernels when booting a ROM
  from the Android app

MultiROM v23
=====================
* Fix compatibility with Ubuntu Touch rev 290 and higher. If your Ubuntu
  installation won't boot, go to recovery and use "Re-patch init" option in
  Advanced -> MultiROM -> List ROMs -> *ubuntu*.

MultiROM v22a
=====================
* Mount the real /data partition to folder /android/realdata in Ubuntu Touch,
  enabling sharing data between Android and Ubuntu Touch. See
  http://bit.ly/ut_sharing for more info.

MultiROM v22
=====================
* Fix linux-type ROMs (Ubuntu Touch) failing to boot for some users

MultiROM v21c
=====================
* Fix touchscreen not working in boot menu for some users

MultiROM v21
=====================
* Revert "mount /system in secondary ROMs read-only" - if done so, SuperSU
  breaks the boot.

MultiROM v20
=====================
* Support booting ROMs directly from Manager App
* Fix FCs on CyanogenMod-based ROMs
* Fix support for USB drives formatted with NTFS, broken in v17
* Mount /system in secondary ROMs read-only

MultiROM v19a
=====================
* Fix WiFi and mobile data not working in Ubuntu Touch when no custom radio is
  used. This won't affect existing installations unless you run "Re-patch
  init" (see previous changelog entry).

MultiROM v19
=====================
* Implement "boot the last ROM" auto-boot type
* Support for different radio image for each ROM - This works on Ubuntu Touch
  too, but you need to either reinstall it or go to recovery after installing
  v19, MultiROM -> List ROMs -> Select the ROM -> Re-patch init.

MultiROM v18
=====================
* Fix silent-but-unpleasant crash with exFAT

MultiROM v17
=====================
* Changes to support MultiROM Manager app
* Add support for exFAT

MultiROM v16
=====================
* Initial version

Recoveries:
Code:
Select Code
5.6.2014
=====================
* Update to TWRP 2.7.1
* Hide misleading "Mount: Unable to find partition for path '/data'" message
  which appeared during secondary ROM installation, it is not _actually_ an
  error.

4.6.2014
=====================
* Fix installation of bigger (>350MB) ZIPs as secondary ROMs

12.5.2014
=====================
* Fix crash during settings loading, causing a bootloop with certain settings

11.5.2014
=====================
* Add F2FS support
* Add tool to switch F2FS<->ext4 to Advanced menu
* Fix problems with backups introduced by TWRP 2.7.0

8.3.2014
=====================
* Update to TWRP 2.7.0
* Remove "save" button from MultiROM settings page, it is saved automatically
  now
* Some rendering optimizations, resulting in noticeably higher FPS in recovery
* Fix GPG signature verification of Ubuntu Touch installation files
* Add support for mice connected via USB-OTG
* Fixup scrollbar behaviour in file list

24.12.2013
=====================
* Fix installing ROMs to USB drive
* Fix ZIP verification
* Support ZIP verification for secondary ROMs

15.12.2013
=====================
* Support OTA updates on secondary ROMs (tested with omni)
* Add "Swap ROMs" feature
* Implement "boot the last ROM" auto-boot type
* Many bugfixes

10.11.2013 - 01
=====================
* Fix some mounting issues when using ntfs or exFAT
* Use kernel with USB-OTG support

10.11.2013
=====================
* Add exFAT support
* Support system-image based Ubuntu Touch installation
* Support Ubuntu Touch OTA updates, if Ubuntu is installed
  via MultiROM manager app

2.11.2013
=====================
* Update to TWRP 2.6.3.2 - add kernel with SELinux,
  fixes those 4.4 flashable ZIPs

22.10.2013
=====================
* Fix SuperSU reporting "failed" when flashed to secondary ROM
  and completely borking the MultiROM part for any subsequent
  uses of "Flash ZIP" or "Backup" option

16.10.2013
=====================
* Automatically inject boot sector with MultiROM
  after ZIP installation or ADB sideload. Can be
  turned off on "confirm flash" or "ADB sideload"
  pages.
* Fix WiFi and mobile data in Ubuntu Touch. You
  have to reinstall UT.

12.10.2013
=====================
* Support 'adb sideload' when adding ROMs
* Support rotation while using custom recovery theme

6.10.2013
=====================
* Initial mako release
The Following 94 Users Say Thank You to Tasssadar For This Useful Post: [ Click to Expand ]
 
Tasssadar
Old
(Last edited by Tasssadar; 18th February 2014 at 09:08 PM.)
#3  
Tasssadar's Avatar
Recognized Developer - OP
Thanks Meter 4276
Posts: 676
Join Date: Dec 2010
Location: Brno

 
DONATE TO ME
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/multiro...rting-MultiROM
The Following 30 Users Say Thank You to Tasssadar For This Useful Post: [ Click to Expand ]
 
karanrajpal14
Old
#4  
Senior Member
Thanks Meter 317
Posts: 980
Join Date: Feb 2011
Location: Bangalore
First! Woo! Was waiting for this.. thank you!
The Following 2 Users Say Thank You to karanrajpal14 For This Useful Post: [ Click to Expand ]
 
nikwen
Old
(Last edited by nikwen; 6th October 2013 at 03:49 PM.)
#5  
nikwen's Avatar
Recognized Contributor
Thanks Meter 1298
Posts: 2,690
Join Date: Feb 2013
Wow. Thanks.

I've been waiting for this to work with Ubuntu Touch since I got my Nexus 4.
Every day I've eagerly checked your Github.

Thanks again.

---------- Post added at 05:12 PM ---------- Previous post was at 04:46 PM ----------

Someone managed to boot Firefox OS as well: http://forum.xda-developers.com/show...8#post45747158
The Following User Says Thank You to nikwen For This Useful Post: [ Click to Expand ]
 
bobo1337
Old
#6  
bobo1337's Avatar
Senior Member
Thanks Meter 111
Posts: 407
Join Date: Nov 2012
Ok so i whanna flash psx 7.2 and ubuntu touch what kexec i need to download? Thanks

Sent from my Nexus 4 using xda app-developers app
 
blttalas
Old
#7  
blttalas's Avatar
Senior Member
Thanks Meter 1848
Posts: 775
Join Date: Mar 2012
Location: Ankara

 
DONATE TO ME
Wohoo thx for the update

Sent from my Nexus 4 using xda app-developers app
My Projects:

Google Nexus 4: MakoPlus, StayStock
Motorola Atrix 4G: Laytveyit ROM
The Following User Says Thank You to blttalas For This Useful Post: [ Click to Expand ]
 
oblikas
Old
#8  
oblikas's Avatar
Senior Member
Thanks Meter 3136
Posts: 1,342
Join Date: Sep 2012
Location: Bacau

 
DONATE TO ME
Good job,my friend.
I'll say goodbye to the community as I don't have my mako anymore and Tass supports this.
I hope you liked my work
The Following 17 Users Say Thank You to oblikas For This Useful Post: [ Click to Expand ]
 
blttalas
Old
#9  
blttalas's Avatar
Senior Member
Thanks Meter 1848
Posts: 775
Join Date: Mar 2012
Location: Ankara

 
DONATE TO ME
And how 2 play multirom game?

Sent from my Nexus 4 using xda app-developers app
My Projects:

Google Nexus 4: MakoPlus, StayStock
Motorola Atrix 4G: Laytveyit ROM
 
nikwen
Old
(Last edited by nikwen; 6th October 2013 at 05:13 PM.)
#10  
nikwen's Avatar
Recognized Contributor
Thanks Meter 1298
Posts: 2,690
Join Date: Feb 2013
Quote:
Originally Posted by blttalas View Post
And how 2 play multirom game?

Sent from my Nexus 4 using xda app-developers app
Touch the MultiROM logo in the main menu. Power to go back. It's quite cool.

Touch the paddle to move it.

The Following 3 Users Say Thank You to nikwen For This Useful Post: [ Click to Expand ]
Tags
dual boot, dualboot, multiboot, multirom
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes