Skip to content
Lawrence Wu [treeofsephiroth, Tenshi Hinanawi] edited this page Nov 3, 2013 · 4 revisions

MultiROM gives your device the ability to install and boot multiple Android ROMs, or even other Linux based operating systems alongside each other.

Components

MultiROM is composed of three basic components that work together to make this possible:

  • TWRP Custom Recovery with MultiROM Extensions - A specially modified TWRP recovery is used to install secondary Android ROMs and alternate operating systems, and keep the primary ROM from overwriting the others.
  • Custom Linux Kernel with kexec-hardboot - A custom Linux kernel with kexec-hardboot must be installed to allow MultiROM to a new Linux kernel into memory. More information about kexec can be found here.
  • MultiROM Bootloader - After the Linux kernel is loaded, this bootloader pops up to prompt the user which operating system to run (Android, Ubuntu Touch, other Linux). You can also choose to boot to the custom recovery.

Installation

To install MultiROM on your device, check the sidebar and see if your device is supported, and follow the instructions there..

Here is an outline of the basic procedure: (Some devices may differ)

  1. Unlock the bootloader. The bootloader needs to be unlocked to install a custom kernel and recovery. Your device does not actually have to be rooted, but it definitely helps.
  2. Flash the modified TWRP custom recovery to your device. - The standard procedure is to use fastboot flash recovery. Alternatively, you can use the Flashify app (requires root).
  3. Install a custom Linux kernel with kexec-hardboot support. You can use any custom recovery to do so. Lists of such kernels are provided in the device instructions.
  4. Install the MultiROM Bootloader. Just flash this zip file in the custom recovery to install it.

Explanation of MultiROM Menus

TWRP MultiROM Extensions

Main Menu

  • Add ROM - add ROM to boot
  • List ROMs - list installed ROMs and manage them
  • Inject boot.img file - When you download for example kernel, which is distrubuted as whole boot.img (eg. franco kernel), you have to use this option on it, otherwise you would lose MultiROM.
  • Inject curr. boot sector - Use this option if MultiROM does not show up on boot, for example after kernel installation.
  • Settings - well, settings.

Manage ROM

  • Rename, delete - I believe these are obvious
  • Flash ZIP (only Android ROMs) - flash ZIP to the ROM, for example gapps
  • Add/replace boot.img - replaces boot.img used by this ROM. Generally used by developers only.
  • Re-patch init - this is available only for ubuntu. Use it when ubuntu cannot find root partition, ie. after apt-get upgrade which changed the init script.

MultiROM Bootloader

(FIXME: add a list of bootloader functions)

Development History

MultiROM was originally developed for two devices by Tasssadar, the LG Optimus One/P500/V, and the Google Nexus 7 (2012). At first, Tasssadar held off on the difficult task of porting the innovative solution to other platforms.

However, Oblikas took it into his own hands, creating unofficial ports for the Nexus 4, HTC One, and SGS4 GPE. Through that effort, MultiROM began to spread it's unique features, and we hope that someday, it could even be as ubiquitous as the custom recovery.

But of course, we will need your help. Developer documentation for port developers can be found in the sidebar.