[Nexus 4 Original Android Development] Tasssadar:
​

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 :)​