[OnePlus 2 Android Development] regalstreak:
TLDR:

MAKE A BACKUP. Seriously.

Downloads in second post. Flash recovery, then kernel, then MultiROM.

A kernel with the kexec-hardboot patch doesn't exist as of now. It is being worked upon be me

​

Introduction

This is a port of Tassadar's MultiROM, a multi-boot mod for OnePlus 2. 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.

This is still very experimental!

​

Features:

Multiboot any number of Android ROMs

Restore nandroid backup as secondary ROM

​

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.

MultiROM has 3 parts you need to install:

Modified recovery (TWRP_multirom_oneplus2_YYYYMMDD.img) - download the IMG file from second post and use fastboot/recovery 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.

Download the ZIP file and flash it in recovery.

MultiROM (multirom-YYYYMMDD-vXX-oneplus2.zip) - download the ZIP file from second post and flash it in recovery.

Note: Your current ROM will not be erased by the installation.

Download links are in the second post.

​

Adding ROMs

1. Android

Go to recovery, select MultiROM -> Add ROM. Select the ROM's zip file and confirm.

​

Updating 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 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 MultiROM and select the ROM you want to update.

Select "Flash ZIP" and flash ROM's ZIP file.

​

Changing ROMs

A kernel with the kexec-hardboot patch does not exist as of yet. It is being worked upon by me.

Hence for now, please use the recovery to swap the ROMs

​

Source Code

MultiROM - https://github.com/regalstreak/multirom (branch: master)

Modified TWRP - https://github.com/Tasssadar/Team-Win-Recovery-Project (branch: android-6.0)

Kernel w/ kexec-hardboot patch (being worked upon) - https://github.com/regalstreak/android_kernel_oneplus_msm8994/tree/android-6.0-mrom

Device tree: https://github.com/regalstreak/android_device_oneplus_oneplus2/tree/android-6.0-mrom (branch android-6.0-mrom)

​

Credits

This port is based on the hard work of Tassadar, Geoff Levand, webgeek1234, Mike Kasick, Npjohnson, Hashbang173, 500 Internal Server Error and many others. Thank you.

Special thanks to [MENTION=5924703]500 Internal Server Error[/MENTION] for porting MultiROM to arm64 devices!

​

Donations

I'd be glad if you could spare a few bucks. You can use either Paypal or Bitcoin, my address is 1mg1HJcNTrNNPbrQqKXsUgdDfZhGo2acC

Also consider donating to [MENTION=3418703]Tasssadar[/MENTION]

Thanks to all donors, it is much appreciated!

​