• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[MOD] MultiROM v33b for OnePlus2

Search This thread

MZO

Senior Member
Jan 5, 2015
1,878
2,185
TLDR:

1: MAKE A BACKUP. Seriously.
2: Downloads in second post. Flash recovery, then kernel, then MultiROM.
35yghmf.png
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 experimental!

Make backups. Seriously. Please.

Features:
* Multiboot any number of Android ROMs
* Restore nandroid backup as secondary ROM
* Boot from USB drive attached via USB-C OTG cable

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

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 2 parts you need to install:

  • Modified recovery (TWRP_multirom_oneplus2_YYYYMMDD.img) - download the IMG file from second post and use fastboot to flash it.
  • MultiROM (multirom-YYYYMMDD-vXX-oneplus2.zip) - download the ZIP file from second post and flash it in recovery.


Your current ROM will not be erased by the installation.

Adding ROMs
1. Android
Go to recovery, select MultiROM -> Add ROM. Select the ROM's zip file and confirm.​


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 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 MultiROM -> List ROMs and select the ROM you want to update.
  • Select "Flash ZIP" and flash ROM's ZIP file.

Note that swapping roms between internal and external is not supported (yet). Also, after flashing a factory image to the primary system and boot partition, make sure to immediately inject MultiROM before first boot, otherwise the secondary ROMs will be deleted.

Source code
MultiROM - https://github.com/nkk71/multirom/tree/master (branch master)
Modified TWRP - https://github.com/nkk71/Team-Win-Recovery-Project (branch android-7.1-mrom)
Device tree: https://github.com/MZO9400/device_oneplus_oneplus2-mrom -b twrp-mrom

Thanks

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

Issues

- None that are known. If you find one that this thread does not know about/hasn't answered (solid rule, read the last three pages of the thread befre reporting an issue), report it in the thread

- IF YOU GET LOCKED OUT OF YOUR DEVICE: Don't worry! Your data is fine. Simply boot to TWRP, choose 'Advanced' ==> 'Terminal Command' ==> type "rm -rf /data/system/gatekeeper.*.key" (without the quotes). This is a dirty fix, and should only be used to recover data, not as a permanent solution! After you recover your data, wipe /data (you don't have to wipe Internal Storage), and re-setup the device.

Changelog
Here

Downloads
Downloads in second post

NOTE:
Third party kernels with kexec-hardboot support (can be flashed to primary ROM): THIS IS NO KEXEC MultiROM, you don't necessarily need kexec hardboot supported kernels



Extra Information
Unlike some of the other 64-bit MultiROM ports, this port does have kexec-hardboot enabled, which is less risky and speeds up boot into secondary ROM. Anyone porting MultiROM to a Snapdragon 810 device may find the source to be useful. The patch was written by @500 Internal Server Error


XDA:DevDB Information
MultiROM for OnePlus2, Tool/Utility for the OnePlus 2

Contributors
MZO, nkk71, martinusbe
Source Code: http://github.com/multirom-dev


Version Information
Status: Stable
Current Stable Version: v33b
Stable Release Date: 2017-05-13
Current Beta Version: v33b
Beta Release Date: 2017-04-20

Created 2017-04-20
Last Updated 2017-05-13
 

MZO

Senior Member
Jan 5, 2015
1,878
2,185
Method of flashing multirom.
________________
1. Go to TWRP 3.1.0 officially that u already have
2. Flash the multirom image file .. and select recovery when it asks whether u want boot or recovery.
3. When successful go back to maim page and hit reboot recovery
4. Now its multirom
5. Flash the provided multirom zip file. An auto reboot will occur. Hit cancel and go to MISC tab to hit reboot recovery
6. Now the existing rom u had , is primary
7. Go to 3 dot menu of TWRP on upper right corner​.
8. Select add rom
9. Flash desired rom
10. Reboot recovery again when successful
11. Go to 3 dot menu again and select list rom
12. Tap on add zip file and add gapps here... That is whatever u file want to flash on a rom just select that rom from rom list and add zip from there

[when flash a secondary, u have to flash zip, then back, and add zip and flash gapps]
13. Hit reboot system.
14. Now a screen will appear even before boot to.ask which rom u want to flash. For the very first time the option is set to, if u don't select any it will boot to primary after 5 seconds, so u hit cancel on that screen (pop up actually)
15. Select the desired rom , double tap on it and it will boot.
First boot of a new rom takes at least 15 to 20 real life minutes.

Notes:
__
To change the option of count down of rom booting selection, go to settings of multirom twrp and turn off option from there. Now every time u reboot.. it will ask which rom u want to boot. And if u don't select any it will stay on same screen till u click something



Tested so far:
Nougat based ROMs
OOS stock
OOS based ROMs
H2OS
MIUI
FlyME
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 43
    TLDR:

    1: MAKE A BACKUP. Seriously.
    2: Downloads in second post. Flash recovery, then kernel, then MultiROM.
    35yghmf.png
    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 experimental!

    Make backups. Seriously. Please.

    Features:
    * Multiboot any number of Android ROMs
    * Restore nandroid backup as secondary ROM
    * Boot from USB drive attached via USB-C OTG cable

    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

    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 2 parts you need to install:

    • Modified recovery (TWRP_multirom_oneplus2_YYYYMMDD.img) - download the IMG file from second post and use fastboot to flash it.
    • MultiROM (multirom-YYYYMMDD-vXX-oneplus2.zip) - download the ZIP file from second post and flash it in recovery.


    Your current ROM will not be erased by the installation.

    Adding ROMs
    1. Android
    Go to recovery, select MultiROM -> Add ROM. Select the ROM's zip file and confirm.​


    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 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 MultiROM -> List ROMs and select the ROM you want to update.
    • Select "Flash ZIP" and flash ROM's ZIP file.

    Note that swapping roms between internal and external is not supported (yet). Also, after flashing a factory image to the primary system and boot partition, make sure to immediately inject MultiROM before first boot, otherwise the secondary ROMs will be deleted.

    Source code
    MultiROM - https://github.com/nkk71/multirom/tree/master (branch master)
    Modified TWRP - https://github.com/nkk71/Team-Win-Recovery-Project (branch android-7.1-mrom)
    Device tree: https://github.com/MZO9400/device_oneplus_oneplus2-mrom -b twrp-mrom

    Thanks

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

    Issues

    - None that are known. If you find one that this thread does not know about/hasn't answered (solid rule, read the last three pages of the thread befre reporting an issue), report it in the thread

    - IF YOU GET LOCKED OUT OF YOUR DEVICE: Don't worry! Your data is fine. Simply boot to TWRP, choose 'Advanced' ==> 'Terminal Command' ==> type "rm -rf /data/system/gatekeeper.*.key" (without the quotes). This is a dirty fix, and should only be used to recover data, not as a permanent solution! After you recover your data, wipe /data (you don't have to wipe Internal Storage), and re-setup the device.

    Changelog
    Here

    Downloads
    Downloads in second post

    NOTE:
    Third party kernels with kexec-hardboot support (can be flashed to primary ROM): THIS IS NO KEXEC MultiROM, you don't necessarily need kexec hardboot supported kernels



    Extra Information
    Unlike some of the other 64-bit MultiROM ports, this port does have kexec-hardboot enabled, which is less risky and speeds up boot into secondary ROM. Anyone porting MultiROM to a Snapdragon 810 device may find the source to be useful. The patch was written by @500 Internal Server Error


    XDA:DevDB Information
    MultiROM for OnePlus2, Tool/Utility for the OnePlus 2

    Contributors
    MZO, nkk71, martinusbe
    Source Code: http://github.com/multirom-dev


    Version Information
    Status: Stable
    Current Stable Version: v33b
    Stable Release Date: 2017-05-13
    Current Beta Version: v33b
    Beta Release Date: 2017-04-20

    Created 2017-04-20
    Last Updated 2017-05-13
    14
    MultiROM (folder):
    DOWNLOAD

    MultiROM v33b

    TWRP MultiROM v3.1.1

    MultiROM Uninstaller

    MultiROM manager modified with OP2 commits has been attached to this post
    8
    Method of flashing multirom.
    ________________
    1. Go to TWRP 3.1.0 officially that u already have
    2. Flash the multirom image file .. and select recovery when it asks whether u want boot or recovery.
    3. When successful go back to maim page and hit reboot recovery
    4. Now its multirom
    5. Flash the provided multirom zip file. An auto reboot will occur. Hit cancel and go to MISC tab to hit reboot recovery
    6. Now the existing rom u had , is primary
    7. Go to 3 dot menu of TWRP on upper right corner​.
    8. Select add rom
    9. Flash desired rom
    10. Reboot recovery again when successful
    11. Go to 3 dot menu again and select list rom
    12. Tap on add zip file and add gapps here... That is whatever u file want to flash on a rom just select that rom from rom list and add zip from there

    [when flash a secondary, u have to flash zip, then back, and add zip and flash gapps]
    13. Hit reboot system.
    14. Now a screen will appear even before boot to.ask which rom u want to flash. For the very first time the option is set to, if u don't select any it will boot to primary after 5 seconds, so u hit cancel on that screen (pop up actually)
    15. Select the desired rom , double tap on it and it will boot.
    First boot of a new rom takes at least 15 to 20 real life minutes.

    Notes:
    __
    To change the option of count down of rom booting selection, go to settings of multirom twrp and turn off option from there. Now every time u reboot.. it will ask which rom u want to boot. And if u don't select any it will stay on same screen till u click something



    Tested so far:
    Nougat based ROMs
    OOS stock
    OOS based ROMs
    H2OS
    MIUI
    FlyME
    7
    Okay so @Tomsgt has made an amazing guide on how to set up and run MultiROM for our device (or any device), you can find his video right here:

    <Mod Edit: Link removed for promoting paid service.>