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

[MOD][FEB 01] MultiROM v30x

Search This thread

Garcia98

Senior Member
Mar 4, 2013
1,095
1,431
github.com
vh3puLb.png
Introduction

MultiROM is one-of-a-kind multi-boot mod for Xperia Z1. 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.

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-vXX-DDMMYY-honami.zip) - download the ZIP file from second post and flash it in recovery.
  • Modified recovery (TWRP_multirom-honami.img) - download the IMG file from second post and use fastboot to flash it.
  • Patched kernel - You can use third-party kernels which include the patch, you can see list in the second post.
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 a ROM after first boot (with dalvik cache generated and connected to google account) takes more or less 700MB of space.​



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 (if USB drive partitions are not showed, disconnect USB drive and try again). 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 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.
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

XDA:DevDB Information
MultiROM for Xperia Z1, Tool/Utility for the Sony Xperia Z1

Contributors
Garcia98

Version Information
Status: No Longer Updated

Created 2015-01-18
Last Updated 2016-06-10
 

Attachments

  • mrom0.png
    mrom0.png
    43.5 KB · Views: 8,378
  • mrom1.png
    mrom1.png
    72.8 KB · Views: 8,713
  • mrom2.png
    mrom2.png
    76.2 KB · Views: 8,605
  • mrom3.png
    mrom3.png
    26.8 KB · Views: 8,193
  • mrom4.png
    mrom4.png
    40.8 KB · Views: 7,801
  • mrom5.png
    mrom5.png
    42.3 KB · Views: 7,781
  • mrom6.png
    mrom6.png
    42.3 KB · Views: 7,701
  • mrom7.png
    mrom7.png
    44.6 KB · Views: 7,675
  • mrom8.png
    mrom8.png
    43.5 KB · Views: 7,625
  • mrom9.png
    mrom9.png
    76.8 KB · Views: 7,505
  • mrom10.png
    mrom10.png
    51.3 KB · Views: 7,357
  • mrom11.png
    mrom11.png
    54.7 KB · Views: 7,067
Last edited:

Garcia98

Senior Member
Mar 4, 2013
1,095
1,431
github.com
Downloads

1. Main downloads

MultiROM: MultiROM-v30x-180115-UNOFFICIAL-honami.zip
Modified recovery (based on TWRP): TWRP_multirom-honami_20150201-00.img
MultiROM Manager Android app: Google Play or link to APK

Kernel w/ kexec-hardboot patch (Stock 4.4.4 - .157): stock-kexec-boot.img (link dead and I don't have a backup, if you have one PM me)
You need to have kernel with kexec-hardboot patch only in your primary ROM!

DO NOT USE TRINITY KERNEL, IT MAY CAUSE ISSUES

2. third-party kernels with kexec-hardboot patch
* Validus LP kernel
* Resurrection Remix LP kernel
* VanirAOSP LP kernel
* crDroid LP kernel
* F(X)TrinityUltimate kernel

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

3. Uninstaller

MultiROM uninstaller: MultiROM_uninstaller.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.

Changelog
Code:
MultiROM v30x
=====================
* Initial release


Recoveries:
Code:
01/02/2015
==========
* Disabled screen timeout.
* Added filesystems tools.
* Latest TWRP updates and changes.

21/01/2015
==========
* Fixed the installation of block images OTAs through MultiROM.
* Latest TWRP updates and changes.

18/01/2015
=====================
* Initial honami release
 
Last edited:

Garcia98

Senior Member
Mar 4, 2013
1,095
1,431
github.com
FAQ and other notes
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.
Next, MultiROM doesn't work with /data encryption. Not many people who use custom ROMs also use encryption anyway, so that isn't much of a concern.​

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./external SD card. 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.​

MultiROM recovery says it's 2.8.4. Why isn't it updated to 2.8.4.*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.
 
Last edited:

optimumpro

Senior Member
Jan 18, 2013
6,489
13,989
Question to OP:

Do you know if multirom breaks data encryption? Right now my phone is encrypted and I use TWRP for updates or installing other roms without breaking encryption. In other words, my phone was encrypted only once and TWRP allows me to unlock encryption in recovery and have access to all partitions...

Thanks in advance.
 

Garcia98

Senior Member
Mar 4, 2013
1,095
1,431
github.com
Question to OP:

Do you know if multirom breaks data encryption? Right now my phone is encrypted and I use TWRP for updates or installing other roms without breaking encryption. In other words, my phone was encrypted only once and TWRP allows me to unlock encryption in recovery and have access to all partitions...

Thanks in advance.

You haven't read this, have you?
 

abbychauhan

Senior Member
Dec 20, 2013
1,833
1,131
JAIPUR
The kexec hardboot patch is require only for Primary ROM? or for secondary ROMs too? Means I can have Validus ROM now and can have any other ROM (which do not have the patch) as secondary ROMs?

Oops I didnt saw the Second post properly - I guess the answer is YES
 
Last edited:

Chocolatetrain

Senior Member
Mar 26, 2013
839
606
Leicestershire
The kexec hardboot patch is require only for Primary ROM? or for secondary ROMs too? Means I can have Validus ROM now and can have any other ROM (which do not have the patch) as secondary ROMs?

Oops I didnt saw the Second post properly - I guess the answer is YES

Does yours flash correctly? For me TWRP fails and CWM says failed to execute inject_boot.sh error code 7
 

Garcia98

Senior Member
Mar 4, 2013
1,095
1,431
github.com
It would be great If you apply your magic to this amazing kernel.
Thank you for your hard work.I used stock only because of the camera.But now I can have Lollypop as a daily driver and Stock for camera.You are amazing.Keep it up.

Pull request opened! https://github.com/cocafe/c6902_kernel_CoCore-Z/pull/1
Now it's job of @cocafe :)

No I meant flashing the actual multiboot zip

You need modified MultiROM TWRP to flash it, if TWRP is not showing up after installing it I know the reason, and tomorrow I'll release a new version ;)

MultiROM Manager says: Device not supported (C6903)...
How to Install the recovery.img?

MultiROM Manager app update is on the way, meanwhile to install it you need to flash it via fastboot using: fastboot flash FOTAKernel recovery.img
 

abbychauhan

Senior Member
Dec 20, 2013
1,833
1,131
JAIPUR
Holy ****.. thanks man. I am able to boot into my Primary ROM and MultiROM and recovery working great.

This is a Manual Procedure, all this can be done via Multirom App

Thats How I did -
01. Clean Flash Validus ROM or any ROM which has Support for Kexce Hardboot Patch
Or
01. Clean Flash A Stock ROM, then Flash Kexce Hardboot Kernel via Fastboot (u can use Minimum adb and fastboot tool or you can use Rashr App to flash Kernel)
02. If LP ROM is primary then - Install fota recovery TWRP from Recovery Workaround Thread http://forum.xda-developers.com/xperia-z1/general/recovery-solution-lollypop-roms-t3000822
03. Reboot into Recovery
04. Flashed MultiROM-v30x-UNOFFICIAL-honami.zip from the Recovery
05. Power Off the Device and Connected into Fastboot Mode
06. Fastboot the MultiROM TWRP img by Command - fastboot flash FOTAKernel TWRP_multirom-honami.img
07. Reboot and Bam!! I have MultiROM.
 
Last edited:

Top Liked Posts

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

    MultiROM is one-of-a-kind multi-boot mod for Xperia Z1. 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.

    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-vXX-DDMMYY-honami.zip) - download the ZIP file from second post and flash it in recovery.
    • Modified recovery (TWRP_multirom-honami.img) - download the IMG file from second post and use fastboot to flash it.
    • Patched kernel - You can use third-party kernels which include the patch, you can see list in the second post.
    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 a ROM after first boot (with dalvik cache generated and connected to google account) takes more or less 700MB of space.​



    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 (if USB drive partitions are not showed, disconnect USB drive and try again). 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 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.
    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

    XDA:DevDB Information
    MultiROM for Xperia Z1, Tool/Utility for the Sony Xperia Z1

    Contributors
    Garcia98

    Version Information
    Status: No Longer Updated

    Created 2015-01-18
    Last Updated 2016-06-10
    17
    Downloads

    1. Main downloads

    MultiROM: MultiROM-v30x-180115-UNOFFICIAL-honami.zip
    Modified recovery (based on TWRP): TWRP_multirom-honami_20150201-00.img
    MultiROM Manager Android app: Google Play or link to APK

    Kernel w/ kexec-hardboot patch (Stock 4.4.4 - .157): stock-kexec-boot.img (link dead and I don't have a backup, if you have one PM me)
    You need to have kernel with kexec-hardboot patch only in your primary ROM!

    DO NOT USE TRINITY KERNEL, IT MAY CAUSE ISSUES

    2. third-party kernels with kexec-hardboot patch
    * Validus LP kernel
    * Resurrection Remix LP kernel
    * VanirAOSP LP kernel
    * crDroid LP kernel
    * F(X)TrinityUltimate kernel

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

    3. Uninstaller

    MultiROM uninstaller: MultiROM_uninstaller.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.

    Changelog
    Code:
    MultiROM v30x
    =====================
    * Initial release


    Recoveries:
    Code:
    01/02/2015
    ==========
    * Disabled screen timeout.
    * Added filesystems tools.
    * Latest TWRP updates and changes.
    
    21/01/2015
    ==========
    * Fixed the installation of block images OTAs through MultiROM.
    * Latest TWRP updates and changes.
    
    18/01/2015
    =====================
    * Initial honami release
    10
    New recovery release is out!

    Hi guys!

    A new recovery release is out, it has added the filesystem tools that were missing and it disables screen timeout ;)

    Download latest recovery: TWRP_multirom-honami_20150201-00.img

    Also if you have touch issues in MultiROM menu tell to your ROM or kernel developer to merge this patch that I have developed for fixing this issue: https://github.com/CyanogenMod/andr...mmit/907103b43eed80bd2bef89beb957d4052311ae67 :)

    Oh, and I have also developed a kernel with kexec hardboot support for stock ROMs, you can find it here: stock-kexec-boot.img :D



    touch not work on multirom menu, why? if i use a "wrong" rom like cm11 it works, if i use vanir or crdroid, i can only use volumerocker + power

    Tell your ROM's developer to apply the touch patch :)

    hi! can I install this with a stock-based rom as primary?
    sorry for my englisg :D

    Yes if you install the kexec hardboot patched kernel from above

    Guys, i tried today this fantastic mod, but i have an issue.
    I am able to boot to TWRP, flash a 2nd ROM, boot into it, install apps and everything but after reboot, it won't boot anymore to 2nd ROM.
    I can boot to internal ROM just fine, and when i open MultiROM Manager i can only see the internal ROM.
    Any suggestions / ideas?
    I'm on iHackers v5.2 with F(X)TrinityUltimateK kernel.
    Thanks!

    Don't use Trinity Kernel, use my patched kernel instead of that :good:

    Same for me on LP ROMs as secondary. ROMs based on KK working fine. Wait for f(x)THaxxorX's MultiROM build...

    No, don't wait for that.

    @Garcia98

    You can now add my Kernel it the List ;). KEXEC is Added in my Kernel. Just Add " Trinity Kernel ( STOCK Kerne ) V3.1+ " ;).
    Guys, Those who wanted MultiROM Support in Stock Kernel..
    My Kernel / TrinityKernel Implemented KEXEC. So MultiBoot Support is Available in V3.1B-STABLE Released. Check it out.

    PS :
    Please Don't Flash the MultiROM.zip located Here / In the MultiROM App Installer. It will softbrick your device since the Installer-script is little bit different, So I Modified it..

    Just Directly Flash the TrinityKernel.zip Kernel Installer, because MultiROM.zip Files is implemented already. ( The MultiROM.zip )

    --
    Right Now. I Have TrinityROM ( Stock ) + AOSP ROM.
    Culprit :p
    assert(run_program("/tmp/inject_boot.sh") == 0);

    Just Remove the
    assert( , == 0);
    And It Should Work Properly. If anything says error in the recovery.
    run_program("/tmp/inject_boot.sh");

    Stop advertising your kernel and using my work without my permission :cowboy:
    9
    FAQ and other notes
    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.
    Next, MultiROM doesn't work with /data encryption. Not many people who use custom ROMs also use encryption anyway, so that isn't much of a concern.​

    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./external SD card. 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.​

    MultiROM recovery says it's 2.8.4. Why isn't it updated to 2.8.4.*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.
    5
    @Garcia98

    You can now add my Kernel it the List ;). KEXEC is Added in my Kernel. Just Add " Trinity Kernel ( STOCK Kerne ) V3.1+ " ;).