[MOD][FEB 10] MultiROM v33

Search This thread

Tasssadar

Inactive Recognized Developer
Dec 31, 2010
818
6,126
Brno
tasssadar.github.com
vh3puLb.png
Introduction

MultiROM is one-of-a-kind multi-boot mod for Nexus 7. 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. Via MultiROM Manager app
This is the easiest way to install everything MultiROM needs. Install the app and select MultiROM and recovery on the Install/Update card. If the Status card says Kernel: doesn't have kexec-hardboot patch! in red letters, you have to install also patched kernel - either select one on the Install/Update card or get some 3rd-party kernel here on XDA. You are chosing kernel for your primary ROM, not any of your (future) secondary ROMs, so select the version accordingly.
Press "Install" on the Install/Update card to start the 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 3 parts you need to install:
  • MultiROM (multirom-YYYYMMDD-vXX-flo.zip) - download the ZIP file from second post and flash it in recovery.
  • Modified recovery (TWRP_multirom_flo_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.
MultiROM is compatible with both flo and deb.



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. FirefoxOS
Download FirefoxOS ZIP package from this thread. The installation is completely the same as Android ROMs.​

3. Ubuntu Touch
Use the MultiROM Manager app to install Ubuntu Touch.

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.


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.



Source code



Crowdfunding campaign
A crowdfunding campaign to get test devices took place from July 28th to August 27th 2013. Thanks all contributors, the campaign was successful, raising a total of $562. This enabled a purchase of flo and resulted in MultiROM being ported to said device and the code became much more portable.

These people pledged $10 or more and got perk "The Thread" or "The Code":
If you supported this campaign, either by pledging money or promoting it, I thank you, doesn't matter if you're on the list or not. This wouldn't be possible without you.​



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 :)
 

Attachments

  • mrom_screenshot_000.png
    mrom_screenshot_000.png
    43.5 KB · Views: 12,451
  • mrom_screenshot_001.png
    mrom_screenshot_001.png
    72.8 KB · Views: 12,842
  • mrom_screenshot_002.png
    mrom_screenshot_002.png
    76.2 KB · Views: 12,590
  • mrom_screenshot_003.png
    mrom_screenshot_003.png
    26.8 KB · Views: 12,191
  • mrom_screenshot_004.png
    mrom_screenshot_004.png
    40.8 KB · Views: 11,666
  • mrom_screenshot_006.png
    mrom_screenshot_006.png
    42.3 KB · Views: 11,641
  • mrom_screenshot_007.png
    mrom_screenshot_007.png
    44.6 KB · Views: 11,579
  • mrom_screenshot_008.png
    mrom_screenshot_008.png
    43.5 KB · Views: 11,646
  • mrom_screenshot_009.png
    mrom_screenshot_009.png
    76.8 KB · Views: 11,738
  • mrom_screenshot_010.png
    mrom_screenshot_010.png
    51.3 KB · Views: 11,603
  • mrom_screenshot_013.png
    mrom_screenshot_013.png
    54.7 KB · Views: 11,432
Last edited:

Tasssadar

Inactive Recognized Developer
Dec 31, 2010
818
6,126
Brno
tasssadar.github.com
Downloads

1. Main downloads

MultiROM: multirom-20160207-v33-flo.zip
Modified recovery (based on TWRP): TWRP_multirom_flo_20160210.img (flo) or TWRP_multirom_deb_20160210.img (deb)
MultiROM Manager Android app: Google Play or link to APK

Kernel w/ kexec-hardboot patch (Stock 4.3): kernel_kexec_flo_430-2.zip
Kernel w/ kexec-hardboot patch (Stock 4.4): kernel_kexec_flo_440.zip
Kernel w/ kexec-hardboot patch (Stock 4.4.1 and 4.4.2): kernel_kexec_flo_441.zip
Kernel w/ kexec-hardboot patch (Stock 4.4.3 and 4.4.4): kernel_kexec_flo_443.zip
Kernel w/ kexec-hardboot patch (Stock L preview): kernel_kexec_flo_L.zip
Kernel w/ kexec-hardboot patch (Stock 5.0 preview (LPX13D)): kernel_kexec_flo_50_lpx13d.zip
Kernel w/ kexec-hardboot patch (Stock 5.0): kernel_kexec_flo_50_final.zip
Kernel w/ kexec-hardboot patch (Stock 5.0.1 and 5.0.2): kernel_kexec_flo_501.zip
Kernel w/ kexec-hardboot patch (Stock 5.1): kernel_kexec_flo_510-2.zip
Kernel w/ kexec-hardboot patch (Stock 5.1.1): kernel_kexec_flo_511-3.zip
Kernel w/ kexec-hardboot patch (Stock 6.0 and 6.0.1): kernel_kexec_flo_601.zip
Kernel w/ kexec-hardboot patch (CM 10.2 - old): kernel_kexec_flo_cm102-3.zip
Kernel w/ kexec-hardboot patch (CM 10.2 - new): kernel_kexec_flo_cm102_new.zip
Kernel w/ kexec-hardboot patch (CM 11 (4.4 - 4.4.2)): kernel_kexec_flo_cm11-5-a7e944881c.zip
Kernel w/ kexec-hardboot patch (CM 11 (4.4.3 - 4.4.4)): kernel_kexec_flo_cm11-8-56220eb2ca.zip
Kernel w/ kexec-hardboot patch (CM 12): kernel_kexec_flo_cm12-1-791c990ed0.zip
Kernel w/ kexec-hardboot patch (CM 12.1): kernel_kexec_flo_cm121-01-ea9556ceb5.zip
Kernel w/ kexec-hardboot patch (CM 13.0): kernel_kexec_flo_cm13-01-b4a11dbae.zip
You need to have kernel with kexec-hardboot patch only in your primary ROM!

Mirror: http://d-h.st/users/tassadar

2. third-party kernels with kexec-hardboot patch
Glitch kernel (13/10/2013 or newer!) - http://forum.xda-developers.com/showthread.php?t=2449919
ElementalX - http://forum.xda-developers.com/showthread.php?t=2389022
franco.Kernel - http://forum.xda-developers.com/showthread.php?t=2446431
TinyKernel - http://forum.xda-developers.com/showthread.php?t=2383083

Nicely ask your kernel developer to merge kexec-hardboot patch.​

3. Uninstaller

MultiROM uninstaller: multirom_uninstaller-flo-2.zip
Flash this ZIP file to remove MultiROM from your device. It will erase all secondary ROMs. If you don't want MultiROM menus in recovery, re-flash clean TWRP, but it is not needed - those menus don't do anything if MultiROM is not installed.

4. Flashable factory images ZIPs
I usually release flashable ZIP files based on new factory images from Google, so that you can have clean stock ROM as a secondary system in MultiROM. They are not rooted, no anything, except for occasional small tweaks to make rooting with SuperSU possible. You can find them in this folder on basketbuild or dev-host.


Changelog
Code:
MultiROM v33
=====================
* Updates for Android 6.0 compatibility

MultiROM v32a
=====================
* Fix pattern encryption password incorrectly reporting "invalid password"
  when the pattern overlaps itself

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" fstabs
* 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
* Fix screen tearing

MultiROM v28
=====================
* Fix freezes in the boot manager
* You can now swipe between the tabs in the boot manager
* Minor UI adjustments
* SailfishOS support (for certain devices)

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 v22b
=====================
* Fix excessive battery drain (~1%/hour, about 5x more) while in primary ROM
  caused by a bug in kernel drivers triggered by MultiROM. Read post #465 on
  XDA forums for more info - [url]http://bit.ly/xda-flo-drain[/url]

MultiROM v22a
=====================
* Mount the real /data partition to folder /android/realdata in Ubuntu Touch,
  enabling sharing data between Android and Ubuntu Touch. See
  [url]http://bit.ly/ut_sharing[/url] for more info.

MultiROM v22
=====================
* Fix linux-type ROMs (Ubuntu Touch) failing to boot for some users

MultiROM v21a
=====================
* Add support for testing builds of Ubuntu Touch (see XDA thread, post #308)

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
=====================
* Implement "boot the last ROM" auto-boot type

MultiROM v18
=====================
* Fix silent-but-unpleasant crash with exFAT

MultiROM v17
=====================
* Changes to support MultiROM Manager app
* Add support for exFAT

MultiROM v16
=====================
* Add overscroll bounceback effect to rom list
* Add support for controling via physical keys
* Bunch of under-the-hood changes for mako and m7 support

MultiROM v15a
=====================
* Fix bootloop after flashing on certain kernels. Update your kexec-hardboot
  kernel!

MultiROM v15
=====================
* Initial version


Recoveries:
Code:
10.2.2016
=====================
* Fix ZIP selector being set to wrong storage after flashing ZIP to a
  secondary ROM

9.2.2016
=====================
* Fix confusing "Unable to mount..." error message
* Fix flashing of some kernels into secondary ROMs
* Fix ubuntu touch support

6.2.2016
=====================
* Update to TWRP 3.0.0 (big thanks to nkk71 for doing most of the work)
* Use Material theme made by z31s1g - thanks!
* Fixes for 6.0 compatibility
* Fixes for SuperSU compatibility. Use BETA 2.67-20160203160253 (
  [url]http://bit.ly/m_su[/url] ) or newer!

30.6.2015
=====================
* Update to TWRP 2.8.7
* Add option to duplicate secondary ROM into "Swap ROMs" section

10.4.2015
=====================
* Fix Ubuntu Touch installation broken in previous update

6.4.2015
=====================
* Fix support for SuperSU 2.47 Beta and higher

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.1.2015
=====================
* Fix "Swap ROMs" feature after the last update

14.1.2015
=====================
* Update to TWRP 2.8.4
* Lots of ZIP compatibility fixes (e.g. for CM 12)

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.

21.8.2014
=====================
* Remove Ubuntu Touch installation, installing via recovery is deprecated
* Add SailfishOS installation (only for supported devices)

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
* Some rendering optimizations, resulting in noticeably higher FPS in recovery

4.2.2014
=====================
* Update to support latest Ubuntu Touch testing builds
* Add support for mice connected via USB-OTG
* Fixup scrollbar behaviour in file list

24.12.2013
=====================
* Fix installing ROMs to USB drive
* Fix ZIP verification
* Support ZIP verification for secondary ROMs

15.12.2013
=====================
* Support OTA updates on secondary ROMs (tested with omni)
* Add "Swap ROMs" feature
* Implement "boot the last ROM" auto-boot type
* Many bugfixes

2.12.2013
=====================
* Fix support for abootimg-based kernel installers
  (fixes ElementalX and Glitch kernels)

10.11.2013 - 01
=====================
* Fix some mounting issues when using ntfs or exFAT

10.11.2013
=====================
* Add exFAT support
* Support system-image based Ubuntu Touch installation
* Support Ubuntu Touch OTA updates, if Ubuntu is installed
  via MultiROM manager app

22.10.2013
=====================
* Fix SuperSU reporting "failed" when flashed to secondary ROM
  and completely borking the MultiROM part for any subsequent
  uses of "Flash ZIP" or "Backup" option

16.10.2013
=====================
* Automatically inject boot sector with MultiROM
  after ZIP installation or ADB sideload. Can be
  turned off on "confirm flash" or "ADB sideload"
  pages.

12.10.2013
=====================
* Support 'adb sideload' when adding ROMs
* Support rotation while using custom recovery theme

5.10.2013
=====================
* Don't display unsupported systems in "Add ROM" menu

28.9.2013
=====================
* Fix instalation of some ROMs with AROMA installer

25.9.2013
=====================
* Don't unmount /usb-otg after Adding ROM
* Fix bootloop after injecting boot on certain kernels

24.9.2013
=====================
* Initial flo release
 
Last edited:

Tasssadar

Inactive Recognized Developer
Dec 31, 2010
818
6,126
Brno
tasssadar.github.com
FAQ and other notes
Device encryption
Since v32, MultiROM supports encryption on this device (it has to be added for each device separately). It works only with Android-based secondary ROMs and the secondary ROMs don't know the device is encrypted, so they would allow you to encrypt the device again - do not do that. If you're using password, pin or pattern for the encryption, MultiROM will ask you for the password on boot. If you're booting the primary ROM, then Android will ask you for the password _again_ - unfortunately, there is no way for me to pass the "unencrypted" status to Android. If you're booting secondary ROM, MultiROM will ask you for the password again after the reboot - that's because I have to unencrypt the /data partition after the ROM's kernel is loaded.

I could omit the second password prompt when booting secondary ROM by temporarily saving the password somewhere, but that's obviously unsafe. So is using encryption with unlocked device though, so I might add this later.​

About security
In order to make multi-booting possible, MultiROM has to sacrifice some security measures. Firstly, on secondary Android ROMs, /system is not mounted read-only. While there are other things preventing malicious software from messing with /system, this might potentialy make it easier for such software to attack that system.​

What do the ROMs share?
All ROMs are separate, except /sdcard, which is shared between all Android ROMs.​

How many ROMs can I have?/Where are the ROMs stored?
You can have as many ROMs as you can fit in your /sdcard. All the ROMs are stored in /sdcard/multirom/roms or on an USB drive. This folder is unaccessible in Android, to prevent mediascanner from scanning it. You can either in recovery, or obtain root and go to /data/media/0/multirom/roms.

Can I have different versions of Android working alongside
Yes. As long as you select "Don't shere kernel" when installing the secondary ROM, the systems are separated.​

MultiROM recovery says it's 2.6.3.0. Why isn't it updated to 2.6.3.*highernumber*?
It is, it just shows wrong version.​

The menu with all the ROMs won't show up during boot, how to fix it?
Either re-flash the MultiROM zip or go to recovery, Advanced -> MultiROM -> Inject curr. boot sector.

The reason for this is that something rewrote your boot.img, which happens for example when you flash a kernel. MultiROM's boot menu is part of the boot image, so it has to be added into it again.


Will you port MultiROM to device X?
No, probably. I won't port MultiROM to any device I don't own, because it is very difficult to provide the level of support I want to provide if I can't test things myself, as proven by the Nexus 4 port. I'd like to support more devices, but it is also very unsatisfying to work on code for device I don't have - I invest hours upon hours of time for free into it, and then I can't even see it running on the device, so...why..bother..?
I'll probably keep buying Nexus devices and keep porting MultiROM to those myself, but I can't buy every single device - I'm still a student, all my existing devices were bought using some kind of money grant or donations from users.
But, you can port it yourself, the wiki should give you at least some idea how to do that: https://github.com/Tasssadar/multirom/wiki/Porting-MultiROM
 
Last edited:

Vaykadji

Senior Member
Jan 19, 2013
82
21
Namur, Belgium
This is awesome ! With Ubuntu Touch coming in october, there'll be a party on my N7 :D

A question though, why do we have to use a patched kernel, doesn't the kernel runs AFTER the multirom part ? I'm asking mainly because I fear for the upcoming Ubuntu Touch and maybe his brand-new kernel. If it's not compatible or will have to be patched, isn't there a risk that we have to "always" use a custom-kernel after every little update? (and Canonical knows his way in kernel updating every 2 weeks on desktop computer, especially with a new product...)
But I'm also asking to satisfy my curiosity ^^

Thank you very much, anyway, I'm glad your funding campain was a success. I can't hit the "Thanks" button enough.
 

Tasssadar

Inactive Recognized Developer
Dec 31, 2010
818
6,126
Brno
tasssadar.github.com
MultiROM starts immediately _after_ kernel. When you select secondary ROM with different kernel, it needs to load it, somehow - that's what kexec is for. Only the kernel for primary ROM has to be patched though, so if you'd install Ubuntu Touch as secondary, it can live with it's own, unpatched kernel.

By the way, as far as I know, Canonical does not plan to support flo. Ubuntu Touch is planned to release in October, but that means it's going to get "stable" version for those 4 nexus devices (mako, manta, grouper and maguro) and possibly some new devices, which will be running Ubuntu Touch out of the box. I think flo needs a community port.
 

thecdn

Senior Member
Apr 26, 2011
475
101
Are the roms able to share apps/data like Modaco switch or is each rom independent?

In addition to this, what about files like docs, pics, etc? How is space alloted per rom? Is it adjustable after install?

Never tried this with my original N7 but I think I'll be trying it on the new one.
 

mumumusuc

Senior Member
Jul 6, 2012
84
47
Abount the kernel, should i flash both modified kernels if i want to set a stock rom for the primary and cm10 for the sec?

Sent from my Galaxy Nexus using xda premium
 

GialanG

Senior Member
Mar 29, 2013
651
263
The Land of Coffee
Dear @Tasssadar.
Thanks for your efforts to the community. As you know, ElementalX kernel supports other roms rather than only stock. So my question is: can we run the first stock rom with patched kernel and second roms with ElementalX (roms don't share kernels)?

Sent from my Lenovo P770 using Tapatalk 4
 
Dear @Tasssadar.
Thanks for your efforts to the community. As you know, ElementalX kernel supports other roms rather than only stock. So my question is: can we run the first stock rom with patched kernel and second roms with ElementalX (roms don't share kernels)?

Sent from my Lenovo P770 using Tapatalk 4

That is exactly how I am running it and all works fine.

Tasssadar - It looks as if it is running fine, I missed this so much when I moved over to DEB and now it is here woohoo!

I have noticed one thing though whenever I flash from my external flash drive it unmounts the usb-otg device after each flash. Have to go in and mount it back between rom, gapps and kernel flashes.
 
  • Like
Reactions: oXnoX and GialanG

Tasssadar

Inactive Recognized Developer
Dec 31, 2010
818
6,126
Brno
tasssadar.github.com
In addition to this, what about files like docs, pics, etc? How is space alloted per rom? Is it adjustable after install?

Never tried this with my original N7 but I think I'll be trying it on the new one.

/sdcard is shared between ROMs, so pictures, movies and such on there are shared. The space isn't really allocated - all roms are stored in /sdcard/multirom/roms (not accessible from Android, if you want to look in there, go to recovery). That means it eats up from the free space you can see in Settings -> Storage in Android.

Abount the kernel, should i flash both modified kernels if i want to set a stock rom for the primary and cm10 for the sec?

Sent from my Galaxy Nexus using xda premium

No, only the aosp one for primary ROM. Secondary ROMs don't require patched kernel (which is actually an improvement over grouper's version).

That is exactly how I am running it and all works fine.

Tasssadar - It looks as if it is running fine, I missed this so much when I moved over to DEB and now it is here woohoo!

I have noticed one thing though whenever I flash from my external flash drive it unmounts the usb-otg device after each flash. Have to go in and mount it back between rom, gapps and kernel flashes.

Okay, fixed, but it's going to be in next release of the recovery (this is not really a big bug).

I saw Bodhi Linux and Ubuntu in the screenshot, how do we install them? Does it accept .ISO and boot as Live CD? How is the hardware detection such as touch screen, etc, all recognized and working? Thanks.

Those screenshots are from old N7, because the GUI looks exactly the same and I'm lazy. You can't install bohdi or ubunut, because, well, the drivers for flo's hardware aren't there.
 
  • Like
Reactions: vibranze and oXnoX

p4rot

Senior Member
Jan 5, 2013
537
319
I tried to flash the multirom zip in recovery but when I reboot I get in a bootloop at the Google logo

Sent from my Nexus 7 using xda app-developers app
 

Tasssadar

Inactive Recognized Developer
Dec 31, 2010
818
6,126
Brno
tasssadar.github.com
I tried to flash the multirom zip in recovery but when I reboot I get in a bootloop at the Google logo

Sent from my Nexus 7 using xda app-developers app

Which kernel and rom are you using? Can you get me a log? Get it to bootloop, then use pwr+volume down to enter bootloader, select recovery mode using volume buttons and pres power. When in recovery, the log is /proc/last_kmsg, you can use adb pull /proc/last_kmsg to get it. Put it on pastebin or something and show it to me.

Sent from my Nexus 7 using xda app-developers app
 
  • Like
Reactions: oXnoX

Top Liked Posts

  • There are no posts matching your filters.
  • 170
    vh3puLb.png
    Introduction

    MultiROM is one-of-a-kind multi-boot mod for Nexus 7. 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. Via MultiROM Manager app
    This is the easiest way to install everything MultiROM needs. Install the app and select MultiROM and recovery on the Install/Update card. If the Status card says Kernel: doesn't have kexec-hardboot patch! in red letters, you have to install also patched kernel - either select one on the Install/Update card or get some 3rd-party kernel here on XDA. You are chosing kernel for your primary ROM, not any of your (future) secondary ROMs, so select the version accordingly.
    Press "Install" on the Install/Update card to start the 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 3 parts you need to install:
    • MultiROM (multirom-YYYYMMDD-vXX-flo.zip) - download the ZIP file from second post and flash it in recovery.
    • Modified recovery (TWRP_multirom_flo_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.
    MultiROM is compatible with both flo and deb.



    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. FirefoxOS
    Download FirefoxOS ZIP package from this thread. The installation is completely the same as Android ROMs.​

    3. Ubuntu Touch
    Use the MultiROM Manager app to install Ubuntu Touch.

    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.


    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.



    Source code



    Crowdfunding campaign
    A crowdfunding campaign to get test devices took place from July 28th to August 27th 2013. Thanks all contributors, the campaign was successful, raising a total of $562. This enabled a purchase of flo and resulted in MultiROM being ported to said device and the code became much more portable.

    These people pledged $10 or more and got perk "The Thread" or "The Code":
    If you supported this campaign, either by pledging money or promoting it, I thank you, doesn't matter if you're on the list or not. This wouldn't be possible without you.​



    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 :)
    65
    Downloads

    1. Main downloads

    MultiROM: multirom-20160207-v33-flo.zip
    Modified recovery (based on TWRP): TWRP_multirom_flo_20160210.img (flo) or TWRP_multirom_deb_20160210.img (deb)
    MultiROM Manager Android app: Google Play or link to APK

    Kernel w/ kexec-hardboot patch (Stock 4.3): kernel_kexec_flo_430-2.zip
    Kernel w/ kexec-hardboot patch (Stock 4.4): kernel_kexec_flo_440.zip
    Kernel w/ kexec-hardboot patch (Stock 4.4.1 and 4.4.2): kernel_kexec_flo_441.zip
    Kernel w/ kexec-hardboot patch (Stock 4.4.3 and 4.4.4): kernel_kexec_flo_443.zip
    Kernel w/ kexec-hardboot patch (Stock L preview): kernel_kexec_flo_L.zip
    Kernel w/ kexec-hardboot patch (Stock 5.0 preview (LPX13D)): kernel_kexec_flo_50_lpx13d.zip
    Kernel w/ kexec-hardboot patch (Stock 5.0): kernel_kexec_flo_50_final.zip
    Kernel w/ kexec-hardboot patch (Stock 5.0.1 and 5.0.2): kernel_kexec_flo_501.zip
    Kernel w/ kexec-hardboot patch (Stock 5.1): kernel_kexec_flo_510-2.zip
    Kernel w/ kexec-hardboot patch (Stock 5.1.1): kernel_kexec_flo_511-3.zip
    Kernel w/ kexec-hardboot patch (Stock 6.0 and 6.0.1): kernel_kexec_flo_601.zip
    Kernel w/ kexec-hardboot patch (CM 10.2 - old): kernel_kexec_flo_cm102-3.zip
    Kernel w/ kexec-hardboot patch (CM 10.2 - new): kernel_kexec_flo_cm102_new.zip
    Kernel w/ kexec-hardboot patch (CM 11 (4.4 - 4.4.2)): kernel_kexec_flo_cm11-5-a7e944881c.zip
    Kernel w/ kexec-hardboot patch (CM 11 (4.4.3 - 4.4.4)): kernel_kexec_flo_cm11-8-56220eb2ca.zip
    Kernel w/ kexec-hardboot patch (CM 12): kernel_kexec_flo_cm12-1-791c990ed0.zip
    Kernel w/ kexec-hardboot patch (CM 12.1): kernel_kexec_flo_cm121-01-ea9556ceb5.zip
    Kernel w/ kexec-hardboot patch (CM 13.0): kernel_kexec_flo_cm13-01-b4a11dbae.zip
    You need to have kernel with kexec-hardboot patch only in your primary ROM!

    Mirror: http://d-h.st/users/tassadar

    2. third-party kernels with kexec-hardboot patch
    Glitch kernel (13/10/2013 or newer!) - http://forum.xda-developers.com/showthread.php?t=2449919
    ElementalX - http://forum.xda-developers.com/showthread.php?t=2389022
    franco.Kernel - http://forum.xda-developers.com/showthread.php?t=2446431
    TinyKernel - http://forum.xda-developers.com/showthread.php?t=2383083

    Nicely ask your kernel developer to merge kexec-hardboot patch.​

    3. Uninstaller

    MultiROM uninstaller: multirom_uninstaller-flo-2.zip
    Flash this ZIP file to remove MultiROM from your device. It will erase all secondary ROMs. If you don't want MultiROM menus in recovery, re-flash clean TWRP, but it is not needed - those menus don't do anything if MultiROM is not installed.

    4. Flashable factory images ZIPs
    I usually release flashable ZIP files based on new factory images from Google, so that you can have clean stock ROM as a secondary system in MultiROM. They are not rooted, no anything, except for occasional small tweaks to make rooting with SuperSU possible. You can find them in this folder on basketbuild or dev-host.


    Changelog
    Code:
    MultiROM v33
    =====================
    * Updates for Android 6.0 compatibility
    
    MultiROM v32a
    =====================
    * Fix pattern encryption password incorrectly reporting "invalid password"
      when the pattern overlaps itself
    
    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" fstabs
    * 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
    * Fix screen tearing
    
    MultiROM v28
    =====================
    * Fix freezes in the boot manager
    * You can now swipe between the tabs in the boot manager
    * Minor UI adjustments
    * SailfishOS support (for certain devices)
    
    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 v22b
    =====================
    * Fix excessive battery drain (~1%/hour, about 5x more) while in primary ROM
      caused by a bug in kernel drivers triggered by MultiROM. Read post #465 on
      XDA forums for more info - [url]http://bit.ly/xda-flo-drain[/url]
    
    MultiROM v22a
    =====================
    * Mount the real /data partition to folder /android/realdata in Ubuntu Touch,
      enabling sharing data between Android and Ubuntu Touch. See
      [url]http://bit.ly/ut_sharing[/url] for more info.
    
    MultiROM v22
    =====================
    * Fix linux-type ROMs (Ubuntu Touch) failing to boot for some users
    
    MultiROM v21a
    =====================
    * Add support for testing builds of Ubuntu Touch (see XDA thread, post #308)
    
    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
    =====================
    * Implement "boot the last ROM" auto-boot type
    
    MultiROM v18
    =====================
    * Fix silent-but-unpleasant crash with exFAT
    
    MultiROM v17
    =====================
    * Changes to support MultiROM Manager app
    * Add support for exFAT
    
    MultiROM v16
    =====================
    * Add overscroll bounceback effect to rom list
    * Add support for controling via physical keys
    * Bunch of under-the-hood changes for mako and m7 support
    
    MultiROM v15a
    =====================
    * Fix bootloop after flashing on certain kernels. Update your kexec-hardboot
      kernel!
    
    MultiROM v15
    =====================
    * Initial version


    Recoveries:
    Code:
    10.2.2016
    =====================
    * Fix ZIP selector being set to wrong storage after flashing ZIP to a
      secondary ROM
    
    9.2.2016
    =====================
    * Fix confusing "Unable to mount..." error message
    * Fix flashing of some kernels into secondary ROMs
    * Fix ubuntu touch support
    
    6.2.2016
    =====================
    * Update to TWRP 3.0.0 (big thanks to nkk71 for doing most of the work)
    * Use Material theme made by z31s1g - thanks!
    * Fixes for 6.0 compatibility
    * Fixes for SuperSU compatibility. Use BETA 2.67-20160203160253 (
      [url]http://bit.ly/m_su[/url] ) or newer!
    
    30.6.2015
    =====================
    * Update to TWRP 2.8.7
    * Add option to duplicate secondary ROM into "Swap ROMs" section
    
    10.4.2015
    =====================
    * Fix Ubuntu Touch installation broken in previous update
    
    6.4.2015
    =====================
    * Fix support for SuperSU 2.47 Beta and higher
    
    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.1.2015
    =====================
    * Fix "Swap ROMs" feature after the last update
    
    14.1.2015
    =====================
    * Update to TWRP 2.8.4
    * Lots of ZIP compatibility fixes (e.g. for CM 12)
    
    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.
    
    21.8.2014
    =====================
    * Remove Ubuntu Touch installation, installing via recovery is deprecated
    * Add SailfishOS installation (only for supported devices)
    
    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
    * Some rendering optimizations, resulting in noticeably higher FPS in recovery
    
    4.2.2014
    =====================
    * Update to support latest Ubuntu Touch testing builds
    * Add support for mice connected via USB-OTG
    * Fixup scrollbar behaviour in file list
    
    24.12.2013
    =====================
    * Fix installing ROMs to USB drive
    * Fix ZIP verification
    * Support ZIP verification for secondary ROMs
    
    15.12.2013
    =====================
    * Support OTA updates on secondary ROMs (tested with omni)
    * Add "Swap ROMs" feature
    * Implement "boot the last ROM" auto-boot type
    * Many bugfixes
    
    2.12.2013
    =====================
    * Fix support for abootimg-based kernel installers
      (fixes ElementalX and Glitch kernels)
    
    10.11.2013 - 01
    =====================
    * Fix some mounting issues when using ntfs or exFAT
    
    10.11.2013
    =====================
    * Add exFAT support
    * Support system-image based Ubuntu Touch installation
    * Support Ubuntu Touch OTA updates, if Ubuntu is installed
      via MultiROM manager app
    
    22.10.2013
    =====================
    * Fix SuperSU reporting "failed" when flashed to secondary ROM
      and completely borking the MultiROM part for any subsequent
      uses of "Flash ZIP" or "Backup" option
    
    16.10.2013
    =====================
    * Automatically inject boot sector with MultiROM
      after ZIP installation or ADB sideload. Can be
      turned off on "confirm flash" or "ADB sideload"
      pages.
    
    12.10.2013
    =====================
    * Support 'adb sideload' when adding ROMs
    * Support rotation while using custom recovery theme
    
    5.10.2013
    =====================
    * Don't display unsupported systems in "Add ROM" menu
    
    28.9.2013
    =====================
    * Fix instalation of some ROMs with AROMA installer
    
    25.9.2013
    =====================
    * Don't unmount /usb-otg after Adding ROM
    * Fix bootloop after injecting boot on certain kernels
    
    24.9.2013
    =====================
    * Initial flo release
    46
    FAQ and other notes
    Device encryption
    Since v32, MultiROM supports encryption on this device (it has to be added for each device separately). It works only with Android-based secondary ROMs and the secondary ROMs don't know the device is encrypted, so they would allow you to encrypt the device again - do not do that. If you're using password, pin or pattern for the encryption, MultiROM will ask you for the password on boot. If you're booting the primary ROM, then Android will ask you for the password _again_ - unfortunately, there is no way for me to pass the "unencrypted" status to Android. If you're booting secondary ROM, MultiROM will ask you for the password again after the reboot - that's because I have to unencrypt the /data partition after the ROM's kernel is loaded.

    I could omit the second password prompt when booting secondary ROM by temporarily saving the password somewhere, but that's obviously unsafe. So is using encryption with unlocked device though, so I might add this later.​

    About security
    In order to make multi-booting possible, MultiROM has to sacrifice some security measures. Firstly, on secondary Android ROMs, /system is not mounted read-only. While there are other things preventing malicious software from messing with /system, this might potentialy make it easier for such software to attack that system.​

    What do the ROMs share?
    All ROMs are separate, except /sdcard, which is shared between all Android ROMs.​

    How many ROMs can I have?/Where are the ROMs stored?
    You can have as many ROMs as you can fit in your /sdcard. All the ROMs are stored in /sdcard/multirom/roms or on an USB drive. This folder is unaccessible in Android, to prevent mediascanner from scanning it. You can either in recovery, or obtain root and go to /data/media/0/multirom/roms.

    Can I have different versions of Android working alongside
    Yes. As long as you select "Don't shere kernel" when installing the secondary ROM, the systems are separated.​

    MultiROM recovery says it's 2.6.3.0. Why isn't it updated to 2.6.3.*highernumber*?
    It is, it just shows wrong version.​

    The menu with all the ROMs won't show up during boot, how to fix it?
    Either re-flash the MultiROM zip or go to recovery, Advanced -> MultiROM -> Inject curr. boot sector.

    The reason for this is that something rewrote your boot.img, which happens for example when you flash a kernel. MultiROM's boot menu is part of the boot image, so it has to be added into it again.


    Will you port MultiROM to device X?
    No, probably. I won't port MultiROM to any device I don't own, because it is very difficult to provide the level of support I want to provide if I can't test things myself, as proven by the Nexus 4 port. I'd like to support more devices, but it is also very unsatisfying to work on code for device I don't have - I invest hours upon hours of time for free into it, and then I can't even see it running on the device, so...why..bother..?
    I'll probably keep buying Nexus devices and keep porting MultiROM to those myself, but I can't buy every single device - I'm still a student, all my existing devices were bought using some kind of money grant or donations from users.
    But, you can port it yourself, the wiki should give you at least some idea how to do that: https://github.com/Tasssadar/multirom/wiki/Porting-MultiROM
    44
    MultiROM v25 adds support for the Android L preview. I've also made flashable ZIP images which you can use to flash the preview as secondary ROM to MultiROM. These are also slightly modified to fix SuperSU - you still have to flash it separately (the zip is not pre-rooted), but it will work. You also need SuperSU 2.00. Also, the first boot takes ages because ART.

    The Android L preview is not as smooth as current stable 4.4.4. I'm not sure if it is because it is preview or because MultiROM is messing up something - can somebody who installed it without MultiROM confirm or deny that? Thanks.

    The MultiROM Manager android app doesn't work on the L preview because of the SELinux changes - I know about it and will fix it...soon.

    MultiROM v25: http://tasemnice.eu/multirom/multirom-20140627-v25-flo.zip
    Flashable ZIP with Android L (LPV79): https://mega.co.nz/#!Rw0DlCBQ!yP3NbdoQ0uEpGWUjIxOaRZM0U8MJ4E7xMPuH6_eSpeg

    GoddammitbothdevhostandgooimarenotworkingsoIhavetousemega.
    29
    MultiROM v22b was released and it fixes excessive battery drain. There is a brief period when screen is completely turned off between MultiROM GUI and ROM's boot animation. The screen drawing code was replaced, if it causes problems on your kernel, you can force using the old one (which causes the battery draining) in recovery -> Advanced -> MultiROM -> Settings, Force using generic screen drawing code.

    Now, a more detailed info about what happened: there is a hack in flo's video drivers which turns on display backlight when the device is in recovery. It is triggered by manipulating the framebuffer device, which, on normal device, is done only by recovery, Android uses different methods to draw on screen (which require proprietary libraries). This hack turns something on, and it drains the device's battery, even while in deep sleep. Normaly, you wouldn't encounter that because you're not staying in recovery for long enough.
    The problem is that MultiROM uses the same screen drawing method as recovery, but there is no device reset between MultiROM's GUI and Android. That means it triggers the hack and the increased battery consumption in Android is the result. It wasn't happening on secondary ROMs because with kexec-hardboot, there is a device restart after you choose the secondary ROM (to load another kernel) and everything gets reset into its initial state.
    The workaround which fixes it is to use different method to draw onto screen - it is called "Qualcomm overlay" and thankfuly, it doesn't trigger that hack in kernel. Other than that, it is comparable to the old method, if somewhat faster. We are very, very lucky this method exist and that I know about it - big thanks to Dees_Troy of TWRP for that. If it did not, the only way to fix it would be find what exactly causes the drain, fix the kernel drivers and then get the fix into all kernels.
    Some of you are reporting that this wasn't an issue for you - can't tell you why. Maybe there are kernels where this is fixed, maybe you just didn't notice it. For me, it was happening on every bootloader version, every kernel and every ROM I tried.

    It was present in MultiROM since release, over half a year now. I'm somewhat surprised nobody reported it for so long, but I don't blame you - I thought it was the ROM myself, I even switched my main ROM for some other, because MultiROM doesn't do anything which should affect something like power consumption. That hack in kernel is just evil, and you have no idea how long it took me to figure out what the hell was happening.

    Anyway, it is "fixed" now. Something like this shouldn't even happen, but it did. Sorry for that.

    Oh, and the recovery was updated to TWRP 2.7.
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone