[MOD][APR 20][Moto X Play] MultiROM v33 [No Kexec Workaround] - X Play Android Development

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Introduction
MultiROM is one-of-a-kind multi-boot mod for Moto X Play. It can boot any Android ROM as well as other systems like Ubuntu Touch, Plasma Active, Bohdi Linux or WebOS port, once they are ported to our 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, daily prebuilt image files to install Ubuntu Touch 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
* Use for example Ubuntu Touch or Desktop alongside with Android, without the need of device formatting, once they are ported to the Moto X Play
* Boot from USB drive attached via OTG cable
Warning!
It _is_ dangerous. This whole thing is basically one giant hack - none of these systems are made with multibooting in mind. It is messing with boot sector and data partition. 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 (We do not have Official Support, so this is not an option for us yet)
This is the easiest way to install everything MultiROM needs. Install the app (Not for Moto X Play) 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 (If you want to use Kexec) - 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:
Modified recovery (TWRP_multirom_lux_YYYYMMDD.img) - download the IMG file from second post and use fastboot, TWRP or Flashify app to flash it.
Patched kernel - you can find it in the second post. Download the ZIP file and flash it in recovery. You can use any 3rd-party kernel which include the patch.
MultiROM (multirom-YYYYMMDD-vXX-lux-signed.zip) - download the ZIP file from second post 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.​
Using USB drive (not tested yet)
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.
In some cases, you might need to flash patched kernel - get coresponding patched kernel version from second post and flash it to the secondary ROM sama way you flashed ROM's ZIP file.
Explanation of recovery menus
Main menu
- Add ROM - add ROM to boot
- List ROMs - list installed ROMs and manage them
- Inject boot.img file - When you download for example kernel, which is distrubuted as whole boot.img (eg. franco kernel), you have to use this option on it, otherwise you would lose MultiROM.
- Inject curr. boot sector - Use this option if MultiROM does not show up on boot, for example after kernel installation.
- Settings - well, settings.
Manage ROM
- Rename, delete - I believe these are obvious
- Flash ZIP (only Android ROMs) - flash ZIP to the ROM, for example gapps
- Add/replace boot.img - replaces boot.img used by this ROM, this is more like developer option.
- Re-patch init - this is available only for ubuntu. Use it when ubuntu cannot find root partition, ie. after apt-get upgrade which changed the init script.​
Source code
MultiROM - https://github.com/multirom-lux/multirom (branch master)
Device Tree - https://github.com/Multirom-Lux/android_device_motorola_lux/tree/twrp-precommon​
Donations (Please donate to the Creator @Tasssadar )
I'd be glad if you could spare a few bucks. You can use either paypal or Bitcoins, my address is 172RccLB2ffSnJyYwjYbUD3Nx4QX3R8Ris
​

Downloads
1. Main downloads
MultiROM: https://www.androidfilehost.com/?fid=745425885120704569
Modified recovery (based on TWRP): https://www.androidfilehost.com/?fid=529152257862699607
Multirom Uninstaller: https://www.androidfilehost.com/?fid=745425885120704570​
2. third-party kernels with kexec-hardboot patch (Not needed)​

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.​I have not tested it yet, as i never used ENCRYPTION on my device, will try to see if there are issues and more users for this use case
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.​By default /external_sd is mounted and is used to store the ROMs.
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.​
Can I flash secondary roms on Micro SD?
Yes but it's is very slow, internal storage is much better to flash secondary roms.​
How do I flash Gapps in Secondary ROMs?
After AddRom and is done, go back and Click on the installed Secondary ROM, you will see one of the option to 'Flash Zip', click and install Gapps. Then you can reboot into secondary ROMs, do gapps installation before rebooting otherwise as usual need to deal with SetupWizard FC, at least thats what I observe in my device.​

No-kexec workaround (version 4)
As of this version you need to manually enable the no-kexec workaround.
Actually, depending on the developer, (s)he may have already enabled it. Nonetheless, you can still choose to override the settings:
Go to TWRP -> MultiROM -> Settings
and enable the No-KEXEC workaround option
once you do you'll also have the option for ADVanced settings, please see below for a detailed description, though in most cases the default should suffice.​
Explanation of the no-kexec workaround advanced options
(the Info page is supposed to provide the same information as here, but I haven't added that yet)
1- Use no-kexec only when needed
This should be the default for most users, the other options are more intended for advanced uses (kernel debugging, and such).
If MultiROM detects a kexec-hardboot enabled kernel in primary slot, it will use the standard kexec method to boot the secondary. If on the other hand it does not detect that the kernel supports kexec-hardboot then it will use the workaround.​
2- ... but also ask for confirmation before booting
Same as option 1 above, but in addition you will be presented with a confirmation message, if the workaround is about to be used:
3- Ask whether to kexec or use no-kexec on booting
If the kernel in primary slot does support kexec-hardboot'ing then you will be presented with a choice of which method to use
If the kernel does not support kexec-hardboot then you'll be informed as in option 2 above​
4- Always force using no-kexec workaround
Forces the no-kexec workaround to be used, even if the kernel in primary slot has kexec-hardboot support​
Options 2 and 3, always present the user with a GUI confirmation, whereas option 1 and 4 will act as instructed without prompting the user.​
Visual feedback provided by the Booting... card
Regular kexec-hardboot boot
Booting using no-kexec-workaround
​
How does all this work, etc
The workaround:
MultiROM TWRP recovery works, and is able to flash ROMs to secondary
MultiROM in essence works (in particular, able to change the mount points during bootup)
what does not work is being able to use the secondary ROM's kernel (due to the lack of kexec-hardboot kernel and tools)
So how do we deal with booting any ROM if we can't use the proper kernel for the ROM?
Easy :
Upon selection of the ROM during MultiROM boot menu, we do the following:
"flash" secondary boot.img to primary partition slot
initiate a full reboot (secondary boot.img is in primary slot)
let the ROM auto-boot up on second boot
The good part:
It works.
.
Every secondary ROM has a boot.img file we can easily access to use the workaround; when you flash a ROM in MultiROM TWRP, not only are the "virtual" system, data, and cache partitions created, but also the boot.img.
The secondary ROMs' boot.img will be found /data/media/0/multirom/<name of rom>/boot.img or if it's on your external ext4 in the appropriate rom folder
We use that file and flash it to primary real boot partition and then upon second boot, the correct boot.img is in place for the correct ROM.
The bad part:
Unlike secondary ROMs, the primary ROM does not have a boot.img file... since it is the primary ROM, the boot.img should always be in the real boot partition, since MultiROM expects the primary kernel to have kexec-hardboot capability, but it does not, so I just go ahead and mess with your primary boot partition.
Since we have no "boot.img" file for the primary, my workaround makes a backup of the boot partition and names it primary_boot.img
In version 4 of the workaround, this backup is created and used only when booting a secondary ROM. When a secondary ROM is selected it's boot.img is flashed to primary slot, upon booting into the secondary ROM, the primary_boot.img is restored.
Long story short: the difference between kexec and no-kexec-workaround
Usual kexec-hardboot MultiROM
Select secondary ROM
MultiROM detects a boot.img
MultiROM reads the secondary boot.img into memory
MultiROM initiates a kexec second boot but into the secondary boot.img from above
MultiROM continues
No-kexec-workaround MultiROM
Select secondary ROM
MultiROM detects a boot.img
MultiROM flashes the secondary boot.img into the primary boot partition
MultiROM initiates a normal second boot but with the secondary boot.img in the real boot partition
MultiROM restores the primary_boot.img and continues as usual
so the difference is in point 3... whereas normal kexec'ing loads the secondary boot.img into memory and goes from there, the workaround, actually flashes it to the real primary boot partition... and continues normally from there
Devices using the no-kexec-workaround successfully
MultiROM threads for:
HTC One M7
HTC One M8
HTC One M9
.
Moto G 2015 by @GtrCraft
Moto X Play by @GtrCraft
OnePlus One (starting here) by @KINGbabasula
OnePlus 3 by @martinusbe
OnePlus X by @martinusbe ... (alpha status)
Sony Xperia Z5 by @Myself5
Sony Xperia L by @STRYDER~007
Sony Xperia SP by @Adrian DC
Xiaomi Redmi 2 by @premaca
.
(possibly Samsung Note 4, unsure if that was continued or not)
Others; unofficial builds? (if you are, kindly let me know, and I'll add you to the list)

Credits to:
@premaca (For helping with bringup)
@squid2 (For TWRP trees)
@Hashbang173 (Guiding me with no kexec workaround)
@nkk71 (For kexec workaround)

Successfully booted from RR to xosp by using multirom. But multi ROM manager app not working. When I reboot , I can change to secondary ROM .VERY VERY THANKS FOR THIS MULTIROM. You've done a great work.

drmuruga said:
Successfully booted from RR to xosp by using multirom. But multi ROM manager app not working. When I reboot , I can change to secondary ROM .VERY VERY THANKS FOR THIS MULTIROM. You've done a great work.
Click to expand...
Click to collapse
Multirom app doesn't work for Moto X Play

What are the roms can be used in multirom?
All m x play roms or cm based or aosp based, any specificity? ( sorry for my english)

drmuruga said:
What are the roms can be used in multirom?
All m x play roms or cm based or aosp based, any specificity? ( sorry for my english)
Click to expand...
Click to collapse
Any rom, as long as you use the no kexec workaround
Sent from my XT1562 using XDA Labs

GtrCraft said:
Enabling no-kexec workaround
Click to expand...
Click to collapse
Great work :good:
May I recommend possibly linking to the original post, because
(1) it's incomplete... but should do for the moment (yeah, it's a sloppy write up, but better than nothing)
(2) once certain things are updated, a copy/paste wont include them
Glad it's working for you, and if it is working properly, then perhaps i need to add it to that post
Happy MultiROM-ing

nkk71 said:
Great work :good:
May I recommend possibly linking to the original post, because
(1) it's incomplete... but should do for the moment (yeah, it's a sloppy write up, but better than nothing)
(2) once certain things are updated, a copy/paste wont include them
Glad it's working for you, and if it is working properly, then perhaps i need to add it to that post
Happy MultiROM-ing
Click to expand...
Click to collapse
Please tell where I will find the correst post. And yes everythibg is working perfectly. No lingering boot.img or broken boots
Sent from my XT1562 using XDA Labs

GtrCraft said:
Please tell where I will find the correst post. And yes everythibg is working perfectly. No lingering boot.img or broken boots
Sent from my XT1562 using XDA Labs
Click to expand...
Click to collapse
No worries, the original no-kexec-workaround info is still here http://forum.xda-developers.com/showpost.php?p=64248526&postcount=4
If I update any information, it will still most likely be there (unless I end up doing on the HTC 10)
(in which case i would update the info)
post updated to include Moto X Play, nice work :good::good:
lingering boot.img was deprecated btw, there are other ways to "break" things.... but it's a lot more difficult now

After installing Multiboot system ringtone volume shoot up to high at beginning later it comes down to normal value.
Has anyone faced this issue. I tested it in two Rom and confirm it. The issue is noted on internal ROM. @GtrlCraft
Sent from my XT1562 using Tapatalk

b00tbu9 said:
After installing Multiboot system ringtone volume shoot up to high at beginning later it comes down to normal value.
Has anyone faced this issue. I tested it in two Rom and confirm it. The issue is noted on internal ROM. @GtrlCraft
Click to expand...
Click to collapse
What?
Sent from my XT1562 using XDA Labs

I have tested it in Stock Rom as well as in another rom. This issue is seen when I boot into internal ROM.
When any alert -message or phone ring.
First ring is way too louder then gradually sound become normal. The sound is so loud that I think the speaker would die
@GtrCraft

b00tbu9 said:
I have tested it in Stock Rom as well as in another rom. This issue is seen when I boot into internal ROM.
When any alert -message or phone ring.
First ring is way too louder then gradually sound become normal. The sound is so loud that I think the speaker would die
@GtrCraft
Click to expand...
Click to collapse
That is not a multirom issue, never seens that happening anyway

I have tested it on stock ROM...
Sent from my XT1562 using Tapatalk

logcat of ring - Stock
Hi,
Please find logcat at http://pastebin.com/PuZfHb4q
@nkk71

b00tbu9 said:
Hi,
Please find logcat at http://pastebin.com/PuZfHb4q
@nkk71
Click to expand...
Click to collapse
dunno what i'm looking for / at,
but have you confirmed:
booting that particular ROM
flashed with MultiROM TWRP
but not injected does not produce this issue?
.
booting that particular ROM as a secondary slot also does not produce this issue?

nkk71 said:
dunno what i'm looking for / at,
but have you confirmed:
booting that particular ROM
flashed with MultiROM TWRP
but not injected does not produce this issue?
.
booting that particular ROM as a secondary slot also does not produce this issue?
Click to expand...
Click to collapse
Booting a ROM from multi Rom twrp with out injected does not produce any issue. Second ROM on MultiRom does not have the issue...
I tried Stock Moto as well as another Rom as primary in both the case high volume issue is noted.
Sent from my XT1562 using Tapatalk

Related

★ ☆[Recovery][Mod][Multi-Boot] MultiROM V22 | m7vzw [Unofficial][03-16-14]☆ ★

★ ☆[Recovery][Mod][Multi-Boot] MultiROM V22 | m7vzw [Unofficial][03-16-14]☆ ★
Introduction
This is a port of Tasssadar's MultiROM.
MultiROM allows you to boot multiple ROMs on the same device (as well as, in theory, Linux distros, if there were any available for our device, or android-based operating systems such as Ubuntu Touch).
ROMs are flashed in the modified recovery, and upon booting the phone, you have a boot menu that will allow you to choose which ROM you want to boot.
You can also boot ROMs off of a USB drive connected via an OTG cable (**There are some limitations to this, keep reading for details**).
First of all, I would like to thank Tasssadar because this is 100% his work. If you enjoy MultiROM, feel free to donate to him.
I have just ported it to Kitkat for the Verizon HTC One.
MultiROM in action: http://www.youtube.com/watch?v=SCYh14Zwl3s​
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.​
Sense ROM Support
MultiROM is now able to boot Sense ROMs (as secondary only), but the process is a little more complicated.
See second post for step-by-step instructions (Big thanks to vroad for figuring this out). Still in testing on m7vzw.​
Installation
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-UNOFFICIAL-m7vzw.zip)) - download the ZIP file from second post and flash it in recovery.
Modified recovery (recovery_mrom_YYYYMMDD.img) - download the IMG file from second post and use fastboot or an app such as FlashImageGUI or Flashify to flash it.
Patched kernel - You absolutely MUST have a kernel with the kexec-hardboot patch on the primary ROM for this to work.
My latest Aosb and Aicp builds both have this.
The primary and secondary roms can share a kernel if you want to install one that is not patched, but may work with the primary one.
You current rom will not be erased by the installation.
Download links are in the second post.
fastboot flash recovery recovery.img (or use Flashify from the Play Store)
flash the MultiRom zip to prep the device for multi booting
Flash an internal rom with a kexec hardboot patched kernel
For now, I recommend using two Aosp roms until Sense roms are further tested by me.
If you are feeling experimental, I will include a process for trying this now if you wish.​
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 and proceed with the installation.
Note: In theory, FAT32, EXT4, and NTFS partitions should all be supported. However, using a FAT32 partition may result in a failed flash.
I have not tried NTFS. If you want to boot off of your USB drive, I recommend putting a dedicated EXT4 partition for booting ROMs.
Also, I was unable to boot off of a thumb drive without sharing a kernel with the primary ROM or using a patched kernel on the secondary ROM.
So if you are going to do this, any ROM you want to boot off of the USB drive ALSO needs a patched kernel.
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.
In some cases, you might need to flash patched kernel - get coresponding patched kernel version from second post and flash it to the secondary ROM sama way you flashed ROM's ZIP file.
Explanation of recovery menus
Main menu
- Add ROM - add ROM to boot
- List ROMs - list installed ROMs and manage them
- Inject boot.img file - When you download a kernel which is distrubuted as whole boot.img, you have to use this option on it, otherwise you would lose MultiROM. (You will likely not need to use this option with most kernel installers)
- Inject curr. boot sector - Use this option if MultiROM does not show up on boot, for example after kernel installation.
- Settings - well, settings.
Manage ROM
- Rename, delete - I believe these are obvious
- Flash ZIP (only Android ROMs) - flash ZIP to the ROM, for example gapps
- Add/replace boot.img - replaces boot.img used by this ROM, this is more like developer option.​
Source code
MultiRom - https://github.com/Tasssadar/multirom
Modified TWRP - https://github.com/Tasssadar/Team-Win-Recovery-Project (branch master)
kexec-hardboot patch - https://gist.github.com/Tasssadar/6733940
​
XDA:DevDB Information
Multi-Rom | m7vzw | Multi-Boot | Recovery, a Tool/Utility for the Verizon HTC One
Contributors
santod040
Version Information
Status: Testing
Current Beta Version: v22
Beta Release Date: 2014-03-16
Created 2014-03-17
Last Updated 2014-03-17
Reserved
Downloads
Modified MultiRom TWRP Recovery: DOWNLOAD
MultiROM m7vzw Zip: DOWNLOAD
My Aosp Kernel w/ kexec-hardboot patch: DOWNLOAD
Uninstaller: DOWNLOAD
Mount Disabler: DOWNLOAD (for Sense ROMs, see instructions below):
You don't need to flash mount-disabler onto primary ROMs.
You only have to flash mount-disabler onto Sense-based SECONDARY ROMs.
If you forget to flash it, Sense ROM's init will attempt to mount primary ROM's system/cache.
If something goes wrong and ROM doesn't boot, enter TWRP recovery and adb pull /proc/last_kmsg, which says why it didn't work.
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 (good thing HTC gave us a WHOPPING 32 gigs). 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 share kernel" when installing the secondary ROM, the systems are separated.​
My secondary ROM doesn't boot if I share the kernel with the primary ROM.
Reinstall the secondary ROM, don't share the kernel this time, and flash the kernel you want to use to that ROM.​
How to use Sense with MultiROM
Using Sense with MultiROM is complicated for a few reasons:
-The MultiROM boot menu doesn't show up with Sense ROMs for some unknown reason.
-Most Sense ROMs can't be flashed via the MultiROM menu because they mount partitions by explicitly using the mmc block. This causes the ROM to be partially install over the primary ROM. vroad has a pretty good explanation of why this happens:
Some users have already reported that ROMs with certain kind of updater-script will format system/data/cache of primary ROM slot, and overwrite to them, even though they have tried to flash onto secondary slot.
This is because these updater-script mount partitions with the name of block device(such as /dev/block/mmcblk0p34), not with mount points(such as /system).
-Sense ROMs also try to mount /system and /cache on boot, so the mount disabler zip is required for the ROM to boot properly.
To boot a secondary Sense ROM:
1. If you have an AOSP ROM already installed as your primary ROM, first go to Advanced > MultiROM > Swap ROMs and choose "move primary ROM to secondaries."
2. Install your Sense ROM as a primary ROM, just as you would with standard TWRP.
3. Go back to the Swap ROMs menu:
-If you had a previously installed AOSP ROM, choose "swap primary (Internal) ROM with secondary" and choose the AOSP ROM that you want to move to primary.
-Otherwise, choose "move primary ROM to secondaries"
4. Flash the Mount Disabler Zip to your secondary Sense ROM.
5. Insure that the primary AOSP ROM has a kernel with kexec-hardboot support as well as the MultiROM zip installed.
To update the secondary Sense ROM
1. Go to Advanced > MultiROM > Swap ROMs and choose " swap primary (Internal) ROM with secondary" and choose the Sense ROM you want to update.
2. Flash the ROM update to the primary ROM slot (just as you would with standard TWRP)
3. Go back to the Swap ROMs menu, and choose "swap primary (Internal) ROM with secondary" and choose the AOSP ROM that you want to move to primary.
4. Flash the Mount Disabler zip to your secondary Sense ROM.
If you do not follow these instructions properly, you will end up with a corrupted, half-Sense half-AOSP primary ROM and a secondary ROM that doesn't boot.
Kitk-Kat only. JB Sense ROMs most likely will not work.​
Reserved
and one more....
Great work !! Was waiting for this for a long time...
mount disabler zip
Where do we find mount disabler zip, don't see a link to dl
kc6wke said:
Where do we find mount disabler zip, don't see a link to dl
Click to expand...
Click to collapse
Added to second post.
Just know that multi booting sense roms is still in testing, so results may vary.
So, If I am on rooted stock, can I install MultiRom and keep my stock as internal? Or do I have to use AOSP as internal and flash a new kernel? I'm assuming if stock was a necessity I would uninstall MultiRom, reinstall TWRP, then flash stock back.
jodaschmo said:
So, If I am on rooted stock, can I install MultiRom and keep my stock as internal? Or do I have to use AOSP as internal and flash a new kernel? I'm assuming if stock was a necessity I would uninstall MultiRom, reinstall TWRP, then flash stock back.
Click to expand...
Click to collapse
The internal rom must have a kernel with a Kexec hardboot patch.
The stock kernel does not have this.
Could I, given I have a backup on my computer, so I can still revert, Flash your kexec kernel over Stock,or do I have to go pure AOSP? Trying not to sound too ignorant...
jodaschmo said:
Could I, given I have a backup on my computer, so I can still revert, Flash your kexec kernel over Stock,or do I have to go pure AOSP? Trying not to sound too ignorant...
Click to expand...
Click to collapse
As of right now, as mentioned, multi booting sense roms on the m7vzw is still being tested and worked out.
This was initially intended for multi booting Aosp roms.
If you are not familiar with any of this or well adversed with messing up and recovering your device, I advise sticking with Aosp roms on this for now.
The kernel I posted is an Aosp kernel, it will not work correctly, if at all, on a Sense rom.
Makes sense. Cool, so I can update Carbon's Kernel, and work with what ever else. How does this fair for MIUI? I'm assuming it depends on the base rom?
jodaschmo said:
Makes sense. Cool, so I can update Carbon's Kernel, and work with what ever else. How does this fair for MIUI? I'm assuming it depends on the base rom?
Click to expand...
Click to collapse
Depends on the base rom and the m7vzw has no fully functional miui currently, so I would say it doesn't work with miui for now.
Yes you can update Carbons kernel and then add a secondary rom.
I would use another Aosp rom and just share the kernel across the two.
You do not need to share the kernel across the two, if you are certain that the secondary rom has a kexec hardboot patch.
I would assume they do not, unless stated specifically in the kernel threads OP, or ask that kernel Dev.
Hopefully the one I have posted works across enough Aosp roms, that it's fairly universal and fully featured.
santod040 said:
Depends on the base rom and the m7vzw has no fully functional miui currently, so I would say it doesn't work with miui for now.
Yes you can update Carbons kernel and then add a secondary rom.
I would use another Aosp rom and just share the kernel across the two.
You do not need to share the kernel across the two, if you are certain that the secondary rom has a kexec hardboot patch.
I would assume they do not, unless stated specifically in the kernel threads OP, or ask that kernel Dev.
Hopefully the one I have posted works across enough Aosp roms, that it's fairly universal and fully featured.
Click to expand...
Click to collapse
any update to this coming?? seems like a fun thing to have that and ive been trying it but it wont flash updated cm build and the kernel gives me black screen on the newer aosp roms ? lol
Alpha_wolf said:
any update to this coming?? seems like a fun thing to have that and ive been trying it but it wont flash updated cm build and the kernel gives me black screen on the newer aosp roms ? lol
Click to expand...
Click to collapse
It's a bit of work to keep current and I didn't see much interest to be honest.
So it's been on the back burner for a bit.
If I get some free time and find myself bored, I may bring it current again.
Just couldn't justify spending a lot of time on something that very few are interested in.
Sent from my HTC6525LVW using Tapatalk
santod040 said:
It's a bit of work to keep current and I didn't see much interest to be honest.
So it's been on the back burner for a bit.
If I get some free time and find myself bored, I may bring it current again.
Just couldn't justify spending a lot of time on something that very few are interested in.
Sent from my HTC6525LVW using Tapatalk
Click to expand...
Click to collapse
oh ok no prob if you do update id enjoy it lol be fun thing to have
Agreed! Especially if it would work with an internal sense rom. Anyone know if Viper kernel has kexec-hardboot patch?
Alpha_wolf said:
oh ok no prob if you do update id enjoy it lol be fun thing to have
Click to expand...
Click to collapse
Can someone please port this to sprint varient or lead me in the right direction , I have seen the op to port but still don't understand it willing to use and test my device for this
santod040 said:
Introduction
This is a port of Tasssadar's MultiROM.
MultiROM allows you to boot multiple ROMs on the same device (as well as, in theory, Linux distros, if there were any available for our device, or android-based operating systems such as Ubuntu Touch).
ROMs are flashed in the modified recovery, and upon booting the phone, you have a boot menu that will allow you to choose which ROM you want to boot.
You can also boot ROMs off of a USB drive connected via an OTG cable (**There are some limitations to this, keep reading for details**).
First of all, I would like to thank Tasssadar because this is 100% his work. If you enjoy MultiROM, feel free to donate to him.
I have just ported it to Kitkat for the Verizon HTC One.
MultiROM 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.
Sense ROM Support
MultiROM is now able to boot Sense ROMs (as secondary only), but the process is a little more complicated.
See second post for step-by-step instructions (Big thanks to vroad for figuring this out). Still in testing on m7vzw.
Installation
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-UNOFFICIAL-m7vzw.zip)) - download the ZIP file from second post and flash it in recovery.
Modified recovery (recovery_mrom_YYYYMMDD.img) - download the IMG file from second post and use fastboot or an app such as FlashImageGUI or Flashify to flash it.
Patched kernel - You absolutely MUST have a kernel with the kexec-hardboot patch on the primary ROM for this to work.
My latest Aosb and Aicp builds both have this.
The primary and secondary roms can share a kernel if you want to install one that is not patched, but may work with the primary one.
You current rom will not be erased by the installation.
Download links are in the second post.
fastboot flash recovery recovery.img (or use Flashify from the Play Store)
flash the MultiRom zip to prep the device for multi booting
Flash an internal rom with a kexec hardboot patched kernel
For now, I recommend using two Aosp roms until Sense roms are further tested by me.
If you are feeling experimental, I will include a process for trying this now if you wish.
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 and proceed with the installation.
Note: In theory, FAT32, EXT4, and NTFS partitions should all be supported. However, using a FAT32 partition may result in a failed flash.
I have not tried NTFS. If you want to boot off of your USB drive, I recommend putting a dedicated EXT4 partition for booting ROMs.
Also, I was unable to boot off of a thumb drive without sharing a kernel with the primary ROM or using a patched kernel on the secondary ROM.
So if you are going to do this, any ROM you want to boot off of the USB drive ALSO needs a patched kernel.
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.
In some cases, you might need to flash patched kernel - get coresponding patched kernel version from second post and flash it to the secondary ROM sama way you flashed ROM's ZIP file.
Explanation of recovery menus
Main menu
- Add ROM - add ROM to boot
- List ROMs - list installed ROMs and manage them
- Inject boot.img file - When you download a kernel which is distrubuted as whole boot.img, you have to use this option on it, otherwise you would lose MultiROM. (You will likely not need to use this option with most kernel installers)
- Inject curr. boot sector - Use this option if MultiROM does not show up on boot, for example after kernel installation.
- Settings - well, settings.
Manage ROM
- Rename, delete - I believe these are obvious
- Flash ZIP (only Android ROMs) - flash ZIP to the ROM, for example gapps
- Add/replace boot.img - replaces boot.img used by this ROM, this is more like developer option.
Source code
MultiRom - https://github.com/Tasssadar/multirom
Modified TWRP - https://github.com/Tasssadar/Team-Win-Recovery-Project (branch master)
kexec-hardboot patch - https://gist.github.com/Tasssadar/6733940
XDA:DevDB Information
Multi-Rom | m7vzw | Multi-Boot | Recovery, a Tool/Utility for the Verizon HTC One
Contributors
santod040
Version Information
Status: Testing
Current Beta Version: v22
Beta Release Date: 2014-03-16
Created 2014-03-17
Last Updated 2014-03-17
Click to expand...
Click to collapse
kexec-hardboot patch for M7wlv CyanogenMod14.1 ?

[MOD][FEB 01] MultiROM v30x

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
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
MultiROM - https://github.com/XperiaMultiROM/multirom (branch master)
Modified TWRP - https://github.com/XperiaMultiROM/android_bootable_recovery (branch master)
Kexec-hardboot patch for stock Sony kernel- https://github.com/Garcia98/kernel-amami/commit/4185df7caf40ac5aa6c7fc81d4098de58f9af19f
Touch patch for MultiROM menu- https://github.com/CyanogenMod/andr...mmit/907103b43eed80bd2bef89beb957d4052311ae67​
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
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
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.​
Thanks man! I've been waiting for a while for this
Wooo man it's good!
I was reading your thread on sony cross dev section and i was thinking: will it be available for Z1?
Thanks buddy :good:
Chocolatetrain said:
Thanks man! I've been waiting for a while for this
Click to expand...
Click to collapse
It yet needs testing, also if there's any custom kernel for stock ROM I would like to push kexec patch to it
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.
optimumpro said:
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.
Click to expand...
Click to collapse
You haven't read this, have you?
Sexxxxxy.. The most important Thread now
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
abbychauhan said:
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?
Click to expand...
Click to collapse
http://forum.xda-developers.com/showpost.php?p=58261085&postcount=2
In red letters xD
Garcia98 said:
http://forum.xda-developers.com/showpost.php?p=58261085&postcount=2
In red letters xD
Click to expand...
Click to collapse
facepalm for me
abbychauhan said:
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
Click to expand...
Click to collapse
Does yours flash correctly? For me TWRP fails and CWM says failed to execute inject_boot.sh error code 7
Chocolatetrain said:
Does yours flash correctly? For me TWRP fails and CWM says failed to execute inject_boot.sh error code 7
Click to expand...
Click to collapse
Which ROM?
Garcia98 said:
It yet needs testing, also if there's any custom kernel for stock ROM I would like to push kexec patch to it
Click to expand...
Click to collapse
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.
Garcia98 said:
Which ROM?
Click to expand...
Click to collapse
No I meant flashing the actual multiboot zip
MultiROM Manager says: Device not supported (C6903)...
How to Install the recovery.img?
BlAckXpeRia said:
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.
Click to expand...
Click to collapse
Pull request opened! https://github.com/cocafe/c6902_kernel_CoCore-Z/pull/1
Now it's job of @cocafe
Chocolatetrain said:
No I meant flashing the actual multiboot zip
Click to expand...
Click to collapse
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
Fladder72 said:
MultiROM Manager says: Device not supported (C6903)...
How to Install the recovery.img?
Click to expand...
Click to collapse
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
Hi @Garcia98 can u add Pull request on this kernels too?
01. Unified kernel for msm8974 devices
https://github.com/sonyxperiadev/kernel
02. [KERNEL][4.4.4]F(X)TrinityUltimateKernel-V3.0 | F2FS | IntelliV2 | exFAT | OC | FSync
http://forum.xda-developers.com/xperia-z1/development/kernel-fxtrinityultimatekernel-fast-t2801620
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.

[MOD][08/03/2016] MultiROM v33x for Xperia ZL [ABANDONED]

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Introduction
MultiROM is one-of-a-kind multi-boot mod. 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
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 2 parts you need to install + one optional (deprecated) :
MultiROM (multirom-YYYYMMDD-v33x-odin.zip) - download the ZIP file from second post and flash it in recovery.
Modified recovery (multirom-YYYYMMDD-recovery-odin.zip) - download the ZIP file from second post and use a recovery to flash it into the FOTA partition
DEPRECATED: Patched kernel - You can use those kernels on most Marshmallow and Lollipop based primary ROMs to add kexec boot support.
Be aware that those patchers will be updated when possible after kernel sources updates
Kexec support no longer required thanks to the no-kexec workaround by nkk71.
For convenience reasons, I enabled the workaround by default if kexec is not found.
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.
Recommended values are :
Cache : Keep default value
Data : Minimum 4000
System : 1000 is enough for most installs
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 Android to 4Gb image on a pretty fast USB drive takes about 20 minutes maximum.
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.
OPTIONAL: Reflash the kernel patcher to add kexec support
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.
Explanation of recovery menus
Main menu
- Add ROM - add ROM to boot
- List ROMs - list installed ROMs and manage them
- Inject boot.img file - When you download for example kernel, which is distrubuted as whole boot.img (eg. franco kernel), you have to use this option on it, otherwise you would lose MultiROM.
- Inject curr. boot sector - Use this option if MultiROM does not show up on boot, for example after kernel installation.
- Settings - well, settings.
Manage ROM
- Rename, delete - I believe these are obvious
- Flash ZIP (only Android ROMs) - flash ZIP to the ROM, for example gapps
- Add/replace boot.img - replaces boot.img used by this ROM, this is more like developer option.
- Re-patch init - this is available only for ubuntu. Use it when ubuntu cannot find root partition, ie. after apt-get upgrade which changed the init script.​
Source code
MultiROM - https://github.com/XperiaMultiROM/multirom (branch master)
Modified TWRP- https://github.com/Tasssadar/Team-Win-Recovery-Project (branch android-6.0)​
MultiROM available for Odin also thanks to :
- Tasssadar
- The XperiaMultiROM team
- The MultiROM HTC team
- Arvind7352
- nkk71
- AdrianDC​
XDA:DevDB Information
MultiROM for Xperia ZL, Tool/Utility for the Sony Xperia ZL
Contributors
@Chippa_a
Thread Source Code: http://forum.xda-developers.com/xperia-sp/orig-development/mod-multirom-xperia-sp-t3351032
Version Information
Status: Abandoned
Downloads
1. Main downloads
MultiROM: multirom-2016MMDD-v33x-odin.zip
Modified recovery (based on TWRP 3): multirom-2016MMDD-recovery-fota-odin.zip
2. Uninstaller
MultiROM uninstaller: Unavailable for Odin due to the already considerable SONY ELF format port
Reflash a ROM or a boot.img without injection (or the v33x zip) to remove MultiROM bootimage from your device.
Then delete the "multirom..." folders from internal & external storages.
If you don't want MultiROM menus in recovery, re-flash a normal TWRP, but it is not needed,
those menus don't do anything if MultiROM is not installed.​
How to install for the first time
Flash the 2 MultiROM zips as explained
Reboot to the FOTA Recovery (Volume +)
In MultiROM TWRP, Add a ROM, set everything properly
Wait for the ROM to be installed (can take a while)
In MultiROM screen, choose the ROM location
For the concerned ROM, "Flash zip" for wished zips (GApps, SuperSU, Addons...)
Read about the no-kexec workaround by nkk71 here : http://forum.xda-developers.com/showpost.php?p=64248526&postcount=4
Reboot the phone
Changelog
Code:
MultiROM v33x - 03/08/2016
======================================
* Initial release with full SONY ELF port and dual ramdisk support
Recoveries :
Code:
03/08/2016
======================
* Initial Odin release
Supported ROMs
Code:
[COLOR="Gray"][SIZE="2"]Actually should be OK on all available ROMs
But this is a confirmed list[/SIZE][/COLOR]
CyanogenMod 12.1 : OK (Primary & Second)
CyanogenMod 13.0 : OK (Primary & Second)
ResurrectionRemix-MM: OK (Primary & Second)
SONY Stock 5.1.1: OK (Primary & Second)
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.
Why is my USB connection to computer not detected ?
Uncheck the "Enable ADB" option in MultiROM Settings.
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.
Something wrong happened, I lost something or it's really laggy
You have been warned about making backups & the fact this is more experimental than stable.
You alone will be responsible for loosing data or having an usable ROM when you really needed it.
Everyone in this thread will try to help you, but we can't do backups of your data ourselves.
Thanks for your understanding, remember to read the previous comments and please try to help each other.​
Hi mate I'm interested to try this mod. I'm currently on Xperia ZL c6502 10.7.A.0.222 stock rooted with unlocked bootloader and xz dual recovery. Is it enough to try this or any thing more stuff I need before I can start?
@Chippa_a, about keeping stock ROM 5.1.1 as primary, AFAIK if the recovery is flashed to fota partition, the device doesn't boot into recovery. Then how can it be used in stock ROM?
EDIT: Oops, didnt see the changelog.

[MOD][KK/LP/MM/N] MultiROM v33x for Xperia Z1

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
MultiROM is a one-of-a-kind multi-boot mod. 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
https://www.youtube.com/watch?v=JDnDNxqfSaw
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.
IMPORTANT
1. I'm not responsible for anything, you do all this on your own risk.
2. Once you have flashed and set up MultiROM, don't flash another boot.img using fastboot.
3. If you want to uninstall MultiROM, just flash the MultiROM uninstaller.
4. I am not certainly sure about the compatibility with stock Roms, I still need to test this yet.
5. Your device must not be encrypted.
When booting another ROM, you'll notice that in some cases, you can enter the recovery of the boot.img of the ROM. Please don't use it, flash everything using MultiROM TWRP.
INSTALLATION
-> Download and flash the MultiROM recovery from the DOWNLOADs section using "fastboot flash recovery <path-to-recovery.img>
-> Use the recovery to flash the latest multirom zip from the DOWNLOADs section.
-> In order to boot a secondary rom you MUST enable the "kexec workaround" option (enabled by default) in the MultiRom settings found in the recovery: BEWARE that this workaround re-flashes the boot-partition every time you boot a secondary rom, so don't boot secondary roms too often, as it may brick your device on the long term! We still need to fix kexec such that exessive utilization is less risky
That's it. You can now go to "MultiROM menu" (Top right corner in the recovery) to start flashing other ROMs.
NOTE: The touch screen doesn't work if you use a MM/N ROM as a base/primary ROM.
ALTERNATIVE INSTALLATION METHOD
-> Download the latest TWRP multirom recovery from the downloads section.
-> Use a terminal emulator, obtain su, and use the following command Adjust the following command and enter it in the shell: "dd if=/sdcard/<name-of-recovery>.img of=/dev/block/platform/msm_sdcc.1/by-name/FOTAKernel"
-> Follow the steps in the previous method to install multirom
ADDING ROMs
Go to recovery, select "MultiROM menu" (Top right corner in the recovery) -> Add ROM. Select the ROM's zip file and confirm.
USING USB DRIVES
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 "MultiROM menu" (Top right corner in the recovery) in recovery and do Inject curr. boot sector. if it is not done directly during installation of the Rom.
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 "MultiROM menu" (Top right corner in the recovery) -> List ROMs and select the ROM you want to update.
-> Select "Flash ZIP" and flash ROM's ZIP file.
SOURCEs
Multirom: https://github.com/XperiaMultiROM/multirom/
TWRP: https://github.com/XperiaMultiROM/android_bootable_recovery
CREDITS
Tasssadar
Olivier
Garcia98
Thunder07
skin1980
Envious_Data
[NUT]
AndroPlus
Panic Brothers
Myself5
Diewi
XDA:DevDB Information
MultiROM v33x for Xperia Z1, ROM for the Sony Xperia Z1
Contributors
drakonizer
ROM OS Version: 2.3.x Gingerbread
Version Information
Status: Alpha
Created 2016-10-22
Last Updated 2016-11-02
Great job Dev
Hey @drakonizer i tried to flash the recovery bit I'm facing a black screen after rebooting in recovery. I'm on cm12.1 with m5kernel 11.2. I probably did something wrong but what?... I only flashed the recovery
Will 4.4 as primary work
benplay64 said:
Hey @drakonizer i tried to flash the recovery bit I'm facing a black screen after rebooting in recovery. I'm on cm12.1 with m5kernel 11.2. I probably did something wrong but what?... I only flashed the recovery
Click to expand...
Click to collapse
You should have flashed the TA update to enable booting directly to recovery. If not, the recovery won't work. Booting into recovery only works using the hardware button combo, and not from Android/adb.
pokepokepoke said:
Will 4.4 as primary work
Click to expand...
Click to collapse
It should, but I haven't tried.
So I have to flash stock ROM before?? If yes my device will wait before having multirom
benplay64 said:
So I have to flash stock ROM before?? If yes my device will wait before having multirom
Click to expand...
Click to collapse
You'll have to either flash latest stock completely out flash the TA update from the general section
drakonizer said:
You'll have to either flash latest stock completely out flash the TA update from the general section
Click to expand...
Click to collapse
So I can only flag the TA update with flash tool over cm?!
benplay64 said:
So I can only flag the TA update with flash tool over cm?!
Click to expand...
Click to collapse
Yes. It should work.
drakonizer said:
Yes. It should work.
Click to expand...
Click to collapse
Thanks you're the boss I will try it now
Updated recovery and multirom zip added with support for Android Nougat and custom stock kernels. Please try and report.
Also, OP has been updated. Looks like Multirom is pretty stable for daily use now. I personally tried it with N as primary and LP as secondary and it worked like a charm.
If users of amami/togari want me to port it for their devices, please PM me so that I can send you test builds. Once I deem them to be stable, I will open threads for them.
drakonizer said:
Updated recovery and multirom zip added with support for Android Nougat and custom stock kernels. Please try and report.
Also, OP has been updated. Looks like Multirom is pretty stable for daily use now. I personally tried it with N as primary and LP as secondary and it worked like a charm.
If users of amami/togari want me to port it for their devices, please PM me so that I can send you test builds. Once I deem them to be stable, I will open threads for them.
Click to expand...
Click to collapse
Friend, i am a little lost, but i need to do that. I need 5.1 for daily use and 6.0 for tests
I am feeling lost because i know how to use twrp to backup, restore, flash zips.... the basic. I am right now using 6.0 Ressurrection Marshmallow rom, with [email protected] 16.04#1 kernel.
I read but i am from brazil and my english isnt the best ones, thats why i am lost. My idea, is, use as primary the 5.1 rom to daily use... but i am lost HOW to start, what kernel should i use...
Please, can you help?
LinkRaf said:
Friend, i am a little lost, but i need to do that. I need 5.1 for daily use and 6.0 for tests
I am feeling lost because i know how to use twrp to backup, restore, flash zips.... the basic. I am right now using 6.0 Ressurrection Marshmallow rom, with [email protected] 16.04#1 kernel.
I read but i am from brazil and my english isnt the best ones, thats why i am lost. My idea, is, use as primary the 5.1 rom to daily use... but i am lost HOW to start, what kernel should i use...
Please, can you help?
Click to expand...
Click to collapse
Okay, I will describe it in detail once more, and hopefully this will be the last time.
-> You can have any ROM as primary, but 5.1 is preferred if you want touch screen support in the multirom menu (the OS choice menu).
-> Flash the latest TA update that enables the recovery partition. The thread is available in the general section.
-> Download the latest multirom recovery from the downloads section
-> Download the latest multirom zip
-> Flash the recovery using fastboot (fastboot flash recovery recovery.img)
-> Boot into recovery using POW+VOL DOWN and use it to flash the multirom zip you downloaded earlier.
-> Enter the multirom menu by tapping the icon on the top right corner of the recovery home screen.
-> Follow the menu to install your secondary ROM.
-> Once that's done, reboot, and you should see the multirom menu pop up
If you still didn't understand, there are multiple guides and videos on the internet. The process is pretty much similar for all devices, so you don't have to look for Xperia Z1 exactly.
drakonizer said:
Okay, I will describe it in detail once more, and hopefully this will be the last time.
-> You can have any ROM as primary, but 5.1 is preferred if you want touch screen support in the multirom menu (the OS choice menu).
-> Flash the latest TA update that enables the recovery partition. The thread is available in the general section.
-> Download the latest multirom recovery from the downloads section
-> Download the latest multirom zip
-> Flash the recovery using fastboot (fastboot flash recovery recovery.img)
-> Boot into recovery using POW+VOL DOWN and use it to flash the multirom zip you downloaded earlier.
-> Enter the multirom menu by tapping the icon on the top right corner of the recovery home screen.
-> Follow the menu to install your secondary ROM.
-> Once that's done, reboot, and you should see the multirom menu pop up
If you still didn't understand, there are multiple guides and videos on the internet. The process is pretty much similar for all devices, so you don't have to look for Xperia Z1 exactly.
Click to expand...
Click to collapse
Thank you for your time! I appreciate it. Two last questions. There will be difference between primary or secundary boot? as performance?
and if i want just to install the second boot ( keep the ressurrection marshmallow as primary) it can be done too?
Thank you and sorry
LinkRaf said:
Thank you for your time! I appreciate it. Two last questions. There will be difference between primary or secundary boot? as performance?
and if i want just to install the second boot ( keep the ressurrection marshmallow as primary) it can be done too?
Thank you and sorry
Click to expand...
Click to collapse
The only difference would be boot time.
Yes, you can use MM as primary, but touch on the multirom menu will not work and you'll have to use the volume buttons and power button to move and select.
Sent from my Xperia Z1 using XDA Labs
Hallo . Can i use this on stock base?
monnett said:
Hallo . Can i use this on stock base?
Click to expand...
Click to collapse
It should, no reason not to....why don't you try and tell me?
drakonizer said:
It should, no reason not to....why don't you try and tell me?
Click to expand...
Click to collapse
iam sorry . But i faced problem when flashing twrp on adb its say "too large"
monnett said:
iam sorry . But i faced problem when flashing twrp on adb its say "too large"
Click to expand...
Click to collapse
Sorry about that...it should be fixed now. Please re-download multirom-twrp-honami-02112016.img from the downloads section and try again.
Thanks!
Friend, i am still on MM Rom, 6.0 with the same kernel, now i want to make the lollipop as my secundary boot
i flashed the twrp of multiboot via fastboot mode. I´ve turned on my z1 (power + volume down) (Could see the new twrp menu) In the INSTALL option, flashed the zip file of multiboot. After that ( i did not reboot my devce) on the addRom menu, installed a lollipop rom (that i know that works with the same kernel as my MM rom)
but it starts the install thing and get a status FAILED and erase an incomplete rom... something like this. .. and i cant install it.... i´ve tested two different lollipop rom... am i missing something?

[MOD][OPO] MultiROM v33e [WIP-TESTING][NOUGAT]

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Introduction
*** Note I am not a MultiROM expert. I wanted to create a place to share and buried in @KINGbabasula's thread is not ideal. Per his request, I've made this thread...
*** Special thanks to @KINGbabasula for his original thread, and to @martinusbe and @nkk71 for entertaining my endless questions, and providing invaluable help when asked.
MultiROM is one-of-a-kind multi-boot mod for Oneplus One. 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
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.
You can install it either from MultiROM Manager app or from this guide:
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:
MultiROM - download the ZIP file from second post and flash it in recovery.
Modified recovery - download the IMG file from second post and use TWRP (flash image file), fastboot or Flashify app to flash it.
Patched kernel - Your Primary ROM's kernel should have the no-kexec patch applied, but should be OK if not as MultiROM will check.
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. If desired, you can go to Advanced -> MultiROM -> List ROMs, select your ROMcan flash individual zips, one by one, such as GApps or SU.​
2. Ubuntu Touch (Note I have not tested this nor do I use 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.​
3. Firefox OS (Note I have not tested this nor do I use Firefox OS.)
Firefox OS is just another Android ROM from MultiROM's point of view, so add it as if it were Android​
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 current 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
MultiROM - https://github.com/Tasssadar/multirom/tree/master (branch master)
Modified TWRP - https://github.com/Tasssadar/Team-Win-Recovery-Project (branch master)
MultiROM device tree - https://github.com/MR-op3/device_oneplus_bacon (branch mr)
MultiROM kernel - https://github.com/MR-op3/kernel_oneplus_msm8974 (branch mr)​
Thanks a lot to Tasssadar for creating this awesome utility.
XDA:DevDB Information
[MOD][OPO] MultiROM v33e [WIP-TESTING][NOUGAT], Tool/Utility for the OnePlus One
Contributors
NoSpamDan, martinusbe, nkk71
Version Information
Status: Testing
Created 2017-02-12
Last Updated 2017-02-17
DOWNLOADS
Flashable MultiROM TWRP v3.1.1 Recovery img file: TWRP_multirom_bacon_20170711-07.img
Flashable MultiROM ZIP: multirom-20161206-v33e-UNOFFICIAL-bacon.zip
Flashable MultiROM Uninstaller ZIP: multirom_uninstaller.zip
Dark-themed MultiROM Manager App: MultiROMMgr-GZR-TBO.apk
(premaca's download folder)
You can thank @premaca and @martinusbe for much of this.
Previous versions:
Flashable MultiROM TWRP v3.0.3-0 Recovery:
multirom-20170711-v33e-UNOFFICIAL-bacon.zip
TWRP MultiROM:
TWRP_3.0.2-0_multirom_bacon_20161212-01.img
MultiROM ZIP:
TWRP_multirom_bacon_20170224-01.img
MultiROM Uninstaller:
multirom_uninstaller.zip
FAQ/FYI
Here are some common questions and answers with MultiROM:
I can't flash a different recovery on my device because the option is not there.
Most likely, the fstab file in the recovery needs to be fixed. You'll probably need to perform the fastboot steps in #2 below.
How to use fastboot to flash a recovery image to your device:
To flash back to another recovery:
Boot your device into fastboot mode.
Copy the recovery img file you want to flash to a place where you have fastboot installed. You probably did this already when you installed TWRP over your stock recovery so you could flash custom ROMs.
Open a terminal/command window in the directory where fastboot.exe and the recovery.img file are, and type: fastboot flash recovery recovery.img (where "recovery.img" is the actual name of the recovery file you want to flash).
None of my secondary ROMs will boot:
You probably need to run Restorecon on the secondary ROM to modify its selinux contexts. To do this:
In MultiROM TWRP, click the MultiROM options in the upper right corner.
Select "List ROMs"
Choose your ROM from the list
Click the "Run Restorecon" button
Reboot into that ROM
I am not seeing the boot menu from MultiROM to select a ROM.
Make sure you injected MultiROM into your primary ROM. To do this:
Flash the MultiROM zip file to your primary ROM.
Click the MultiROM options in the upper right corner
Select the "Inject boot sector" button
Reboot
If you still have trouble, see @nkk71's post here with more information.
Tried with Lightning kernel (which supports KEXEC-hardboot) and tried booting a secondary rom. It leaves me with an error popup saying "KEXEC-hardboot support is required to boot this rom". No-KEXEC workaround isn't working either.
can my 16GB-device work??
Great mod. Thanks NoSpamDan for keeping it alive!
SirSoviet said:
Tried with Lightning kernel (which supports KEXEC-hardboot) and tried booting a secondary rom. It leaves me with an error popup saying "KEXEC-hardboot support is required to boot this rom". No-KEXEC workaround isn't working either.
Click to expand...
Click to collapse
Going to need more details than that... and thanks for the log.
What ROM primary and secondary?
Did you inject the boot image on your primary?
Try flashing your primary as both a primary and a secondary and see if you can add another secondary. This is still in the testing phase but I have Slim7 as my primary and no issues with secondary ROMs. I don't normally even need restorecon on them when I test (unless it gets stuck at the kernel splash screen)...
EDIT: From your log:
Code:
[ 3.375133] multirom: kexec -u test has failed, kernel doesn't have kexec-hardboot patch enabled in config!
ceiven said:
can my 16GB-device work??
Click to expand...
Click to collapse
Sure, why not? You can use an external OTG drive to keep ROMs on. Depending on how much space your ROM & Data occupies will limit what you can do on such a small storage device.
SirSoviet said:
Tried with Lightning kernel (which supports KEXEC-hardboot) and tried booting a secondary rom. It leaves me with an error popup saying "KEXEC-hardboot support is required to boot this rom". No-KEXEC workaround isn't working either.
Click to expand...
Click to collapse
@nikhil18 forgot to enable KEXEC in V35. Use V34, it's enabled/working fine there.
NoSpamDan said:
Going to need more details than that... and thanks for the log.
What ROM primary and secondary?
Did you inject the boot image on your primary?
Try flashing your primary as both a primary and a secondary and see if you can add another secondary. This is still in the testing phase but I have Slim7 as my primary and no issues with secondary ROMs. I don't normally even need restorecon on them when I test (unless it gets stuck at the kernel splash screen)...
Sure, why not? You can use an external OTG drive to keep ROMs on. Depending on how much space your ROM & Data occupies will limit what you can do on such a small storage device.
Click to expand...
Click to collapse
So it seems that the latest version of LK has broken Kexec, so no need to worry about that. Just the No-Kexec workaround that's problematic.
I'm currently using HalogenOS, and any secondary rom won't work. I injected the boot image on the primary rom, otherwise I would be booting straight into the primary rom.
SirSoviet said:
So it seems that the latest version of LK has broken Kexec, so no need to worry about that. Just the No-Kexec workaround that's problematic.
I'm currently using HalogenOS, and any secondary rom won't work. I injected the boot image on the primary rom, otherwise I would be booting straight into the primary rom.
Click to expand...
Click to collapse
Well I edited my last response to include a line from your log indicating that the kernel does not have the kexec-hardboot patch.
NoSpamDan said:
Well I edited my last response to include a line from your log indicating that the kernel does not have the kexec-hardboot patch.
Click to expand...
Click to collapse
I know that, I said that the latest version of Lightning Kernel has broken kexec-hardboot. All that needs to be fixed is the no-kexec workaround.
developer options still force closes on nougat roms when you install the nougat rom as secondary so how is this nougat friendly?
JT1510365 said:
developer options still force closes on nougat roms when you install the nougat rom as secondary so how is this nougat friendly?
Click to expand...
Click to collapse
This depends on the rom itself. I believe a commit is needed in order for it to work properly.
f41lbl0g said:
This depends on the rom itself. I believe a commit is needed in order for it to work properly.
Click to expand...
Click to collapse
What roms would have it wouldn't rr remix rom nougat have it?
JT1510365 said:
What roms would have it wouldn't rr remix rom nougat have it?
Click to expand...
Click to collapse
I haven't used multirom in a while so I don't know.
JT1510365 said:
developer options still force closes on nougat roms when you install the nougat rom as secondary so how is this nougat friendly?
Click to expand...
Click to collapse
Great question... it's Nougat-friendly because you can install Nougat ROMs as secondary. The Developer Options problem is a bug...
As a work-around, you can install your problem Nougat ROM as a Primary, enable the Developer Options there, then move it to a Secondary slot...
f41lbl0g said:
This depends on the rom itself. I believe a commit is needed in order for it to work properly.
Click to expand...
Click to collapse
Indeed, a secondary ROM needs this: https://review.slimroms.org/#/c/22989/
I'm running a marshmallow and nougat rom together with the last version of multirom?
NoSpamDan said:
Great question... it's Nougat-friendly because you can install Nougat ROMs as secondary. The Developer Options problem is a bug...
As a work-around, you can install your problem Nougat ROM as a Primary, enable the Developer Options there, then move it to a Secondary slot...
Indeed, a secondary ROM needs this: https://review.slimroms.org/#/c/22989/
Click to expand...
Click to collapse
For nougat compatibility, moving to latest @nkk71 multirom modified_twrp 3.0.3-0 is real better 2017-01-27:
https://github.com/nkk71/android_bootable_recovery/commits/android-7.1-mrom
https://github.com/multirom-htc/Team-Win-Recovery-Project/commits/android-7.1-mrom
BTW, MultiROM' OPs should clarify one for all that multirom.zip' s trampoline works fine with all unmodified recoveries twrp/cwm (primary rom install/update only): modified_twrp is only needed for managing 2nd roms.
Of course, using un-swapped unique modified_TWRP recovery is always much "cooler" (I didn't had much success explaining that to p880' users with : how to rom/kickflip and twrp/shuvit...), and NoKexec workaround is a more complicate behaviour.
Even after flashing v33e, Multirom manager says I'm running v33b... Is that normal?
oF2pks said:
For nougat compatibility, moving to latest @nkk71 multirom modified_twrp 3.0.3-0 is real better 2017-01-27:
https://github.com/nkk71/android_bootable_recovery/commits/android-7.1-mrom
https://github.com/multirom-htc/Team-Win-Recovery-Project/commits/android-7.1-mrom
BTW, MultiROM' OPs should clarify one for all that multirom.zip' s trampoline works fine with all unmodified recoveries twrp/cwm (primary rom install/update only): modified_twrp is only needed for managing 2nd roms.
Of course, using un-swapped unique modified_TWRP recovery is always much "cooler" (I didn't had much success explaining that to p880' users with : how to rom/kickflip and twrp/shuvit...), and NoKexec workaround is a more complicate behaviour.
Click to expand...
Click to collapse
I have a version of 3.0.3-0 built, but I couldn't get my multirom zip file to show the boot menu/boot sector. I did flash the zip and injected it but no luck. I have reached out to @nkk71 for ideas on this, but it might be best if he responds here when he has a chance.
For now, I'll put the new TWRP in Post #2 and here if you want to try it. Keep a previous version around just in case you need to fastboot flash it to your device: TWRP_3.0.3-0_multirom_bacon_20170213-01.img
iruiz2 said:
Even after flashing v33e, Multirom manager says I'm running v33b... Is that normal?
Click to expand...
Click to collapse
Yes, it's because it's pointing to @nkk71's repo, and it's also using his changelog I believe. I'll have to review, but manual installation is best for now. What the app is most useful for right now is managing your ROMs...

Categories

Resources