[ONE Original Android Development] NoSpamDan:
[IMG="MultiROM v33e for the Oneplus One"]http://i.imgur.com/vh3puLb.png[/IMG]

Introduction

*** Note I am not a MultiROM expert. I wanted to create a place to share and buried in @KINGbabasula's thread is not ideal. Per his request, I've made this thread... ;)

*** Special thanks to @KINGbabasula for his original thread, and to @martinusbe and @nkk71 for entertaining my endless questions, and providing invaluable help when asked.

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:

MultiROM - download the ZIP file from second post and flash it in recovery.

Modified recovery - download the IMG file from second post and use TWRP (flash image file), fastboot or Flashify app to flash it.

Patched kernel - Your Primary ROM's kernel should have the no-kexec patch applied, but should be OK if not as MultiROM will check.

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. If desired, you can go to Advanced -> MultiROM -> List ROMs, select your ROMcan flash individual zips, one by one, such as GApps or SU.​

2. Ubuntu Touch (Note I have not tested this nor do I use 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 (Note I have not tested this nor do I use 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 current 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)

MultiROM device tree - https://github.com/MR-op3/device_oneplus_bacon (branch mr)

MultiROM kernel - https://github.com/MR-op3/kernel_oneplus_msm8974 (branch mr)​

Thanks a lot to Tasssadar for creating this awesome utility.

XDA:DevDB Information

[MOD][OPO] MultiROM v33e [WIP-TESTING][NOUGAT], Tool/Utility for the OnePlus One

Contributors

NoSpamDan, martinusbe, nkk71

Version Information

Status: Testing

Created 2017-02-12

Last Updated 2017-02-17