Remove All Ads from XDA

[MOD][FEB 10] MultiROM v33

818 posts
Thanks Meter: 6,168
Post Reply Email Thread
MultiROM is one-of-a-kind multi-boot mod for Nexus 5. 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.

* 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.

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.

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

MultiROM has 3 parts you need to install:
  • MultiROM ( - download the ZIP file from second post and flash it in recovery.
  • Modified recovery (TWRP_multirom_hammerhead_YYYYMMDD.img) - download the IMG file from second post and use fastboot or Flashify app to flash it.
  • Patched kernel - You can use either one of the stock ones in second post or third-party kernels which include the patch, you can see list in the second post. Download the ZIP file and flash it in recovery.
You current rom will not be erased by the installation.
Download links are in the second post.

Adding ROMs
1. Android
Go to recovery, select Advanced -> MultiROM -> Add ROM. Select the ROM's zip file and confirm. As for the space, clean installation of stock 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 grab the ZIP file from Firefox OS' thread and add it as if it were Android
4. SailfishOS
  • Download CyanogenMod and SailfishOS ZIP as described on Sailfish wiki page. You need alpha2 (20140810) or newer!
  • Put both CM and SailfishZIP on your device.
  • Reboot into recovery
  • Advanced -> MultiROM -> Add ROM
  • Choose "SailfishOS" as ROM type. Installation to USB drive is not supported, so leave install location as is. Click Next.
  • Choose first CyanogenMod ZIP and then SailfishOS ZIP. Click install.
Head to SailfishOS thread for more info:

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 - (branch master)
Modified TWRP - (branch master)
Kernel w/ kexec-hardboot patch -

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:	mrom_screenshot_000.png
Views:	41784
Size:	43.5 KB
ID:	2889545   Click image for larger version

Name:	mrom_screenshot_001.png
Views:	43017
Size:	72.8 KB
ID:	2889546   Click image for larger version

Name:	mrom_screenshot_002.png
Views:	42290
Size:	76.2 KB
ID:	2889547   Click image for larger version

Name:	mrom_screenshot_003.png
Views:	41046
Size:	26.8 KB
ID:	2889548   Click image for larger version

Name:	mrom_screenshot_004.png
Views:	39463
Size:	40.8 KB
ID:	2889549   Click image for larger version

Name:	mrom_screenshot_006.png
Views:	39333
Size:	42.3 KB
ID:	2889550   Click image for larger version

Name:	mrom_screenshot_007.png
Views:	39017
Size:	44.6 KB
ID:	2889551   Click image for larger version

Name:	mrom_screenshot_008.png
Views:	39060
Size:	43.5 KB
ID:	2889552   Click image for larger version

Name:	mrom_screenshot_009.png
Views:	39230
Size:	76.8 KB
ID:	2889553   Click image for larger version

Name:	mrom_screenshot_010.png
Views:	38593
Size:	51.3 KB
ID:	2889554   Click image for larger version

Name:	mrom_screenshot_013.png
Views:	37930
Size:	54.7 KB
ID:	2889555  
The Following 428 Users Say Thank You to Tasssadar For This Useful Post: [ View ] Gift Tasssadar Ad-Free
15th December 2013, 04:27 PM |#2  
Tasssadar's Avatar
OP Inactive Recognized Developer
Flag Brno
Thanks Meter: 6,168
Donate to Me
1. Main downloads

Modified recovery (based on TWRP): TWRP_multirom_hammerhead_20160210.img
MultiROM Manager Android app: Google Play or link to APK

Kernel w/ kexec-hardboot patch (Stock 4.4):
Kernel w/ kexec-hardboot patch (Stock 4.4.1 and 4.4.2):
Kernel w/ kexec-hardboot patch (Stock 4.4.3 and 4.4.4):
Kernel w/ kexec-hardboot patch (Stock L preview):
Kernel w/ kexec-hardboot patch (Stock 5.0 preview (LPX13D)):
Kernel w/ kexec-hardboot patch (Stock 5.0 and 5.0.1):
Kernel w/ kexec-hardboot patch (Stock 5.1):
Kernel w/ kexec-hardboot patch (Stock 5.1.1):
Kernel w/ kexec-hardboot patch (Stock 6.0 and 6.0.1):
Kernel w/ kexec-hardboot patch (CM 11 (4.4 - 4.4.2)):
Kernel w/ kexec-hardboot patch (CM 11 (4.4.3 - 4.4.4)):
Kernel w/ kexec-hardboot patch (CM 12.0):
Kernel w/ kexec-hardboot patch (CM 12.1):
Kernel w/ kexec-hardboot patch (CM 13.0):
You need to have kernel with kexec-hardboot patch only in your primary ROM!

2. third-party kernels with kexec-hardboot patch
franco.Kernel (r21 and newer) -
Chaos -
ElementalX -

Nicely ask your kernel developer to merge kexec-hardboot patch.
3. Uninstaller

MultiROM uninstaller:
Flash this ZIP file to remove MultiROM from your device. It will erase all secondary ROMs. If you don't want MultiROM menus in recovery, re-flash clean TWRP, but it is not needed - those menus don't do anything if MultiROM is not installed.
4. Flashable factory images ZIPs
I usually release flashable ZIP files based on new factory images from Google, so that you can have clean stock ROM as a secondary system in MultiROM. They are not rooted, no anything, except for occasional small tweaks to make rooting with SuperSU possible. You can find them in this folder on basketbuild or dev-host.

MultiROM v33
* Updates for Android 6.0 compatibility

MultiROM v32c
* Add support for Android M preview (MPZ44Q). SuperSU 2.46 doesn't work on M
  and breaks boot - don't flash it!

MultiROM v32b
* Fix pattern encryption password incorrectly reporting "invalid password"
  when the pattern overlaps itself

MultiROM v32a
* Fix support for separate radio.img with secondary kitkat ROMs

MultiROM v32
* Minor GUI improvements
* Support for device encryption (with Android-based secondary ROMs only, for
  AOSP encryption only - does not work with CAF-based CyanogenMod as primary
  ROM). See FAQ in this device's XDA thread for more info.
* Bunch of ROM compatibility fixes

MultiROM v31
* Add support for "multimount" fstabs
* Support interlaced PNGs (fixes wrongly rendered icons in boot manager, e.g.
  the L icon)

MultiROM v30
* Fix logs generated by the "emergency reboot" screen, they were incomplete

MultiROM v29
* Implement "autoboot if no key pressed" mode - the boot manager won't show up
  unless you hold down a volume down button during boot. Must be enabled in
* Android 5.0 preview related tweaks

MultiROM v28
* You can now swipe between the tabs in the boot manager
* Minor UI adjustments

MultiROM v27a
* Fix freezes in the boot manager
* Add support for SailfishOS

MultiROM v27
* Redesign the boot manager GUI. Looks much better now.
* Fix separate radio.img not working on Android L preview ROMs
* Fix issues with unaccessible /sdcard on Android L preview. Do NOT run
  restorecon manually on /data/media, ever - it breaks MultiROM!
* Workaround bug which caused franco.Kernel on N5 to break secondary ROM's
* Update Ubuntu Touch init scripts
* Use power+volume down (you have to press power first!) to save screenshots.
  They are now PNG images and are saved to /sdcard/Pictures/Screenshots/.

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 v22c
* Fix graphics corruption with some custom kernels

MultiROM v22b
* Mount the real /data partition to folder /android/realdata in Ubuntu Touch,
  enabling sharing data between Android and Ubuntu Touch. See for more info.

MultiROM v22a
* Add support for ROMs with DTB only as separate blob in boot.img (AOKP)

MultiROM v22
* Fix Ubuntu Touch boot taking long time
* Fix Ubuntu Touch freezing on Google logo for some users

MultiROM v21a
* Add support for testing builds of Ubuntu Touch (see XDA thread, post #323)

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 v19
* Initial version

* Fix ZIP selector being set to wrong storage after flashing ZIP to a
  secondary ROM

* Update to TWRP 3.0.0 (big thanks to nkk71 for doing most of the work)
* Use Material theme made by z31s1g - thanks!
* Fixes for 6.0 compatibility
* Fixes for SuperSU compatibility. Use BETA 2.67-20160203160253 ( ) or newer!

* Update to TWRP 2.8.7
* Add option to duplicate secondary ROM into "Swap ROMs" section

* Fix Ubuntu Touch installation broken in previous update

* Fix support for SuperSU 2.47 Beta and higher

* Update to TWRP 2.8.6
* Added "restorecon" option to secondary ROMs (in MultiROM -> List ROMs),
  should be used to fix broken SELinux contexts, which can be causing
  bootloops of secondary ROMs
* Bunch of ROM compatibility fixes - recovery now uses entirely new way to
  inject ZIP installation files, which should be much more robust and reliable
* Big ZIPs (> 450MB) are no longer permanently modified when flashed as
  secondary ROMs
* Fix sideloading of big ZIP files (> 450MB) into secondary ROMs

* Update to TWRP 2.8.5
* Fix support for ROMs containing a in their installation file
  (e.g. AICP)

* Fix "Swap ROMs" feature after the last update

* Update to TWRP 2.8.4
* Lots of ZIP compatibility fixes (e.g. for CM 12)

* Support for ZIP files which are using the new 'block_image_update' command
  (e.g. SimpleAOSP ROM)

* Update to TWRP 2.8.1

* Update autoboot settings for MultiROM v29

* Update with changes from upstream version: fix a bug that causes
  weird graphics glitches and touch issues

* Update to TWRP 2.8.0
* Fix adding ROMs from backup to a FAT32 USB drives
* Remove "share kernel with internal?" from "Add ROM" page, there is usually
  no reason to use it anymore and it might be confusing to figure out what it
  actually does. You can still get the same behavior by clicking "Remove
  boot.img" on the List ROMs -> *rom name* page.

12.8.2014 - 1
* Fix 'Flash ZIP' function for Android ROMs, broken by a typo in previous

* Remove Ubuntu Touch installation, installing via recovery is deprecated
* Add SailfishOS installation

* Show secondary ROM's name in the title bar while executing it's script (e.g.
  during OTA update)
* Update Ubuntu Touch updater
* Fix failure to swap ROMs if it contains filenames starting with a dot
* Fix add ROM from a backup producing unbootable ROM with Android L preview
* Add option to remove radio.img from secondary ROMs
* Add config options for MultiROM v27

* 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

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

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

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

* Update to TWRP 2.7.0
* Remove "save" button from MultiROM settings page, it is saved automatically

* Support for system-image based (from the Manager app) Ubuntu Touch
* Fix time in recovery
* Some rendering optimizations, resulting in noticeably higher FPS in recovery

* Update to support latest Ubuntu Touch testing builds
* Fix date and time in recovery
* Add support for mice connected via USB-OTG
* Fixup scrollbar behaviour in file list

* Fix radio in Ubuntu Touch

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

* Initial hammerhead release
The Following 170 Users Say Thank You to Tasssadar For This Useful Post: [ View ] Gift Tasssadar Ad-Free
15th December 2013, 04:27 PM |#3  
Tasssadar's Avatar
OP Inactive Recognized Developer
Flag Brno
Thanks Meter: 6,168
Donate to Me
FAQ and other notes
Device encryption
Since v32, MultiROM supports encryption on this device (it has to be added for each device separately). It works only with Android-based secondary ROMs and the secondary ROMs don't know the device is encrypted, so they would allow you to encrypt the device again - do not do that. If you're using password, pin or pattern for the encryption, MultiROM will ask you for the password on boot. If you're booting the primary ROM, then Android will ask you for the password _again_ - unfortunately, there is no way for me to pass the "unencrypted" status to Android. If you're booting secondary ROM, MultiROM will ask you for the password again after the reboot - that's because I have to unencrypt the /data partition after the ROM's kernel is loaded.

I could omit the second password prompt when booting secondary ROM by temporarily saving the password somewhere, but that's obviously unsafe. So is using encryption with unlocked device though, so I might add this later.
About security
In order to make multi-booting possible, MultiROM has to sacrifice some security measures. Firstly, on secondary Android ROMs, /system is not mounted read-only. While there are other things preventing malicious software from messing with /system, this might potentialy make it easier for such software to attack that system.
What do the ROMs share?
All ROMs are separate, except /sdcard, which is shared between all Android ROMs.
How many ROMs can I have?/Where are the ROMs stored?
You can have as many ROMs as you can fit in your /sdcard. All the ROMs are stored in /sdcard/multirom/roms or on an USB drive. This folder is unaccessible in Android, to prevent mediascanner from scanning it. You can either in recovery, or obtain root and go to /data/media/0/multirom/roms.
Can I have different versions of Android working alongside
Yes. As long as you select "Don't shere kernel" when installing the secondary ROM, the systems are separated.
MultiROM recovery says it's Why isn't it updated to 2.6.3.*highernumber*?
It is, it just shows wrong version.
The menu with all the ROMs won't show up during boot, how to fix it?
Either re-flash the MultiROM zip or go to recovery, Advanced -> MultiROM -> Inject curr. boot sector.

The reason for this is that something rewrote your boot.img, which happens for example when you flash a kernel. MultiROM's boot menu is part of the boot image, so it has to be added into it again.
Will you port MultiROM to device X?
No, probably. I won't port MultiROM to any device I don't own, because it is very difficult to provide the level of support I want to provide if I can't test things myself, as proven by the Nexus 4 port. I'd like to support more devices, but it is also very unsatisfying to work on code for device I don't have - I invest hours upon hours of time for free into it, and then I can't even see it running on the device, so...why..bother..?
I'll probably keep buying Nexus devices and keep porting MultiROM to those myself, but I can't buy every single device - I'm still a student, all my existing devices were bought using some kind of money grant or donations from users.
But, you can port it yourself, the wiki should give you at least some idea how to do that:
The Following 111 Users Say Thank You to Tasssadar For This Useful Post: [ View ] Gift Tasssadar Ad-Free
15th December 2013, 04:30 PM |#4  
Galaxysm's Avatar
Senior Member
Flag Mission
Thanks Meter: 645
This looks awesome!!

Sent from My Nexus 5 🍫.
The Following User Says Thank You to Galaxysm For This Useful Post: [ View ] Gift Galaxysm Ad-Free
15th December 2013, 04:30 PM |#5  
SGWUser's Avatar
Senior Member
Thanks Meter: 342
Nice job! But why no 3rd-party kernels?

EDIT: I should have read more carefully

Sent from my Nexus 5 using Tapatalk
15th December 2013, 04:33 PM |#6  
TheSpaceManatee's Avatar
Senior Member
Flag Singapore
Thanks Meter: 298
This looks legit finally multiboot!!

Failed to get root access in multiboot app on cm ROM

Sent from my Nexus 5 using XDA Premium 4 mobile app
15th December 2013, 05:29 PM |#7  
Senior Member
Thanks Meter: 39
I don't see the option to add a zip rom in modified kernel...

Edit : I think I know why, this must be because of my TWRP theme. Will remove it and try, then post a second edit. (:

Edit 2 : to those who are running a TWRP theme, remove it 'til it gets compatible. Else everything working fine here. (:

Sent from my Omniromed and Faux kerneled Nexus 5 using Tapatalk
The Following 2 Users Say Thank You to aragog53 For This Useful Post: [ View ] Gift aragog53 Ad-Free
15th December 2013, 05:47 PM |#8  
Senior Member
Brno, Czech Republic
Thanks Meter: 94
It's like Christmas one week early
15th December 2013, 05:56 PM |#9  
Craxx's Avatar
Senior Member
Thanks Meter: 286
Very very nice i waited for this since Nexus4 days. Thx a lot!

Best regards

Send from my Nexus 5 with Tapatalk
The Following User Says Thank You to Craxx For This Useful Post: [ View ] Gift Craxx Ad-Free
15th December 2013, 06:09 PM |#10  
ikslawlok's Avatar
Senior Member
Flag Lyon
Thanks Meter: 111
Thank you for all your hard work !

Envoyé de mon Nexus 7 en utilisant Tapatalk
The Following User Says Thank You to ikslawlok For This Useful Post: [ View ] Gift ikslawlok Ad-Free
15th December 2013, 06:50 PM |#11  
Senior Member
Flag daytona beach
Thanks Meter: 204
This goes to show why nexus devices are in a class all of there own.Thanks for this amazing feature.
Post Reply Subscribe to Thread

dual boot, dualboot, multi boot, multiboot, multirom

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

Advanced Search
Display Modes