-
Notifications
You must be signed in to change notification settings - Fork 271
Introduction
MultiROM gives your device the ability to install and boot multiple Android ROMs, or even other Linux based operating systems alongside each other.
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.
- Tasssadar is creating a new Android app that could supplement the functions of this modified recovery, for greater convenience.
-
Custom Linux Kernel with
kexec-hardboot
- A custom Linux kernel withkexec-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.
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)
- 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.
-
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). -
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. - Install the MultiROM Bootloader. Just flash this zip file in the custom recovery to install it.
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.
(FIXME: add a list of bootloader functions)
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.