Introduction

MultiROM is one-of-a-kind multi-boot mod for Motorola Moto G. 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

1.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.



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 to install: MultiROM (multirom-YYYYMMDD-vXX-titan.zip) - download the ZIP file from second post and flash it in recovery.

(multirom-YYYYMMDD-vXX-titan.zip) - download the ZIP file from second post and flash it in recovery. Modified recovery (TWRP_multirom_titan_YYYYMMDD.img) - download the IMG file from second post and use fastboot or Flashify app to flash it.

(TWRP_multirom_titan_YYYYMMDD.img) - download the IMG file from second post and use fastboot or Flashify app 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, you can see list in the second post. Download the ZIP file and flash it in recovery. 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. As for the space, clean installation of stock 4.2 after first boot (with dalvik cache generated and connected to google account) takes 676mb of space.

2. Ubuntu Touch - Not available yet



Use the



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. Use the MultiROM Manager app to install Ubuntu Touch.

3. Firefox OS - Not available yet

Firefox OS is just another Android ROM from MultiROM's point of view, so grab the ZIP file from Firefox OS' thread and add it as if it were Android

4. SailfishOS - Not available yet

Download CyanogenMod and SailfishOS ZIP as described on Sailfish wiki page. You need alpha2 (20140810) or newer!

Put both CM and SailfishZIP on your device.

Reboot into recovery

Advanced -> MultiROM -> Add ROM

Choose "SailfishOS" as ROM type. Installation to USB drive is not supported, so leave install location as is. Click Next.

Click Next. Choose first CyanogenMod ZIP and then SailfishOS ZIP. Click install. Head to SailfishOS thread for more info:

Head to SailfishOS thread for more info: http://forum.xda-developers.com/goog...alpha-t2841266

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

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

Changelog

Code: MultiROM v32 ===================== * Minor GUI improvements * Support for device encryption (with Android-based secondary ROMs only). See FAQ in this device's XDA thread for more info. * Bunch of ROM compatibility fixes MultiROM v31 ===================== * Add support for "multimount" fstab (fixes CM12) * Support interlaced PNGs (fixes wrongly rendered icons in boot manager, e.g. the L icon) MultiROM v30 ===================== * Fix logs generated by the "emergency reboot" screen, they were incomplete MultiROM v29 ===================== * Implement "autoboot if no key pressed" mode - the boot manager won't show up unless you hold down a volume down button during boot. Must be enabled in recovery. * Android 5.0 preview related tweaks MultiROM v28 ===================== * You can now swipe between the tabs in the boot manager * Minor UI adjustments MultiROM v27a ===================== * Fix freezes in the boot manager * Add support for SailfishOS MultiROM v27 ===================== * Redesign the boot manager GUI. Looks much better now. * Fix separate radio.img not working on Android L preview ROMs * Fix issues with unaccessible /sdcard on Android L preview. Do NOT run restorecon manually on /data/media, ever - it breaks MultiROM! * Workaround bug which caused franco.Kernel on N5 to break secondary ROM's boot * Update Ubuntu Touch init scripts * Use power+volume down (you have to press power first!) to save screenshots. They are now PNG images and are saved to /sdcard/Pictures/Screenshots/. MultiROM v26 ===================== * Fix boot into secondary ROM from the MultiROM Manager app broken in v25 MultiROM v25 ===================== * Add support for the Android L preview MultiROM v24 ===================== * Add F2FS support * Show icons in ROM list, configurable via MultiROM Manager app * Improve compatibility with different ROMs and kernels when booting a ROM from the Android app MultiROM v23 ===================== * Fix compatibility with Ubuntu Touch rev 290 and higher. If your Ubuntu installation won't boot, go to recovery and use "Re-patch init" option in Advanced -> MultiROM -> List ROMs -> *ubuntu*. MultiROM v22c ===================== * Fix graphics corruption with some custom kernels MultiROM v22b ===================== * Mount the real /data partition to folder /android/realdata in Ubuntu Touch, enabling sharing data between Android and Ubuntu Touch. See http://bit.ly/ut_sharing for more info. MultiROM v22a ===================== * Add support for ROMs with DTB only as separate blob in boot.img (AOKP) MultiROM v22 ===================== * Fix Ubuntu Touch boot taking long time * Fix Ubuntu Touch freezing on Google logo for some users MultiROM v21a ===================== * Add support for testing builds of Ubuntu Touch (see XDA thread, post #323) MultiROM v21 ===================== * Revert "mount /system in secondary ROMs read-only" - if done so, SuperSU breaks the boot. MultiROM v20 ===================== * Support booting ROMs directly from Manager App * Fix FCs on CyanogenMod-based ROMs * Fix support for USB drives formatted with NTFS, broken in v17 * Mount /system in secondary ROMs read-only MultiROM v19 ===================== * Initial version

Recoveries:

Code: 28.3.2015 ===================== * Update to TWRP 2.8.6 * Added "restorecon" option to secondary ROMs (in MultiROM -> List ROMs), should be used to fix broken SELinux contexts, which can be causing bootloops of secondary ROMs * Bunch of ROM compatibility fixes - recovery now uses entirely new way to inject ZIP installation files, which should be much more robust and reliable * Big ZIPs (> 450MB) are no longer permanently modified when flashed as secondary ROMs * Fix sideloading of big ZIP files (> 450MB) into secondary ROMs 12.2.2015 ===================== * Update to TWRP 2.8.5 * Fix support for ROMs containing a supersu.zip in their installation file (e.g. AICP) 15.11.2014 ===================== * Support for ZIP files which are using the new 'block_image_update' command (e.g. SimpleAOSP ROM) 29.10.2014 ===================== * Update to TWRP 2.8.1 21.10.2014 ===================== * Update autoboot settings for MultiROM v29 14.9.2014 ===================== * Update with changes from 2.8.0.1 upstream version: fix a bug that causes weird graphics glitches and touch issues 11.9.2014 ===================== * Update to TWRP 2.8.0 * Fix adding ROMs from backup to a FAT32 USB drives * Remove "share kernel with internal?" from "Add ROM" page, there is usually no reason to use it anymore and it might be confusing to figure out what it actually does. You can still get the same behavior by clicking "Remove boot.img" on the List ROMs -> *rom name* page. 12.8.2014 - 1 ===================== * Fix 'Flash ZIP' function for Android ROMs, broken by a typo in previous version 11.8.2014 ===================== * Remove Ubuntu Touch installation, installing via recovery is deprecated * Add SailfishOS installation 8.8.2014 ===================== * Show secondary ROM's name in the title bar while executing it's script (e.g. during OTA update) * Update Ubuntu Touch updater * Fix failure to swap ROMs if it contains filenames starting with a dot * Fix add ROM from a backup producing unbootable ROM with Android L preview * Add option to remove radio.img from secondary ROMs * Add config options for MultiROM v27 5.6.2014 ===================== * Update to TWRP 2.7.1 * Hide misleading "Mount: Unable to find partition for path '/data'" message which appeared during secondary ROM installation, it is not _actually_ an error. 4.6.2014 ===================== * Fix installation of bigger (>350MB) ZIPs as secondary ROMs 12.5.2014 ===================== * Fix crash during settings loading, causing a bootloop with certain settings 11.5.2014 ===================== * Add F2FS support * Add tool to switch F2FS<->ext4 to Advanced menu * Fix problems with backups introduced by TWRP 2.7.0 8.3.2014 ===================== * Update to TWRP 2.7.0 * Remove "save" button from MultiROM settings page, it is saved automatically now 27.2.2014 ===================== * Support for system-image based (from the Manager app) Ubuntu Touch installation * Fix time in recovery * Some rendering optimizations, resulting in noticeably higher FPS in recovery 4.2.2014 ===================== * Update to support latest Ubuntu Touch testing builds * Fix date and time in recovery * Add support for mice connected via USB-OTG * Fixup scrollbar behaviour in file list 26.1.2014 ===================== * Fix radio in Ubuntu Touch 24.12.2013 ===================== * Fix installing ROMs to USB drive * Fix ZIP verification * Support ZIP verification for secondary ROMs

PAC-5.0

CM12

CM11

Donations

I'd be glad if you could spare a few bucks. You can use either paypal or Bitcoins, my address is 172RccLB2ffSnJyYwjYbUD3Nx4QX3R8Ris



Thanks to all donors, it is much appreciated

XDA:DevDB Information

Multirom v32 Titan, ROM for the Moto G 2014

Contributors

Version Information

Credits : Brawn_Sg for multirom falcon port Picohackr hackr for the recovery tassadar for the entire multirom h2o64 for the OP luca020400 for helping me with TWRPPrimary Rom:Sec. Rom:Sec. Rom:(Tasssadar)5.0.x LollipopAbandoned2015-03-032016-02-14