[MOD] Multirom for Shield Portable - Shield 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. 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 3 parts you need to install:
MultiROM (multirom-YYYYMMDD-vXX-UNOFFICIAL-roth.zip) - download the ZIP file from second post and flash it in recovery.
Modified recovery (twrp-multirom-YYYYMMDD-UNOFFICIAL-roth.img) - download the IMG file from second post and use fastboot or Flashify app to flash it.
Patched kernel - You can use either one of the stock ones listed below or third-party kernels which include the patch, you can see list in the second post. Flash it using TWRP.
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.​
2. Ubuntu Touch
Not yet ported​
3. Firefox OS
Not yet ported, but should be as easy as other Android ports.​
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 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 FAT32 partition, recovery asks you to set image size for all the partitions - this cannot be easilly changed afterward, so choose carefully. FAT32 is limited to maximum of 4095MB per image - it is limitation of the filesystem, I can do nothing about that.
Installation to USB drives takes a bit longer, because the flash drive is (usually) slower and it needs to create the images, so installation of Ubuntu to 4Gb image on my pretty fast USB drive takes about 20 minutes.
Enumerating USB drive can take a while in MultiROM menu, so when you press the "USB" button in MultiROM, wait a while (max. 30-45s) until it searches the USB drive. It does it by itself, no need to press something, just wait.​
Updating/changing ROMs
1. Primary ROM (Internal)
Flash ROM's ZIP file as usual, do factory reset if needed (it won't erase secondary ROMs)
Go to Advanced -> MultiROM in recovery and do Inject curr. boot sector.
2. Secondary Android ROMs
If you want to change the ROM, delete it and add new one. To update ROM, follow these steps:
Go to Advanced -> MultiROM -> List ROMs and select the ROM you want to update.
Select "Flash ZIP" and flash ROM's ZIP file.
Source code
MultiROM - https://github.com/Tasssadar/multirom (branch master)
Modified TWRP - https://github.com/Tasssadar/Team-Win-Recovery-Project (branch android-6.0)
Device Tree https://github.com/CM-Shield/android_device_nvidia_roth (branch cm-13.0-mrom)
Kernel w/ kexec-hardboot patch - https://github.com/CM-Shield/android_kernel_nvidia_roth (branch cm-12.1-mrom)​
XDA:DevDB Information
Shield Portable Multirom, Tool/Utility for the Nvidia Shield
Contributors
Steel01
Version Information
Status: Testing
Created 2015-04-23
Last Updated 2015-04-23

Reserved
Downloads
1. Main downloads
MultiROM: multirom-20150801-v32-UNOFFICIAL-roth.zip
Modified recovery (based on TWRP 3.0.0.0): twrp-multirom-20160526-UNOFFICIAL-roth.img
Kernel w/ kexec-hardboot patch (Stock 5.1 update 106) [flashable zip]: roth_kexec_boot_stock_106.zip
Kernel w/ kexec-hardboot patch (Stock 5.1 update 103) [flashable zip]: roth_kexec_boot_stock_103.zip
Kernel w/ kexec-hardboot patch (CM 12.1) [flashable zip]: roth_kexec_boot_cm_12_1.zip
MultiROM Manager: MultiROMMgr-debug.apk​
2. third-party kernels with kexec-hardboot patch
None yet
Nicely ask your kernel developer to merge kexec-hardboot patch (patch for roth).​

Reserved
Notes
I finally made this work. However, it is still not well tested. Three things to note:
1. The touchscreen does not work in the boot selection. Neither will the d-pad. So, I've had to set Y as up, B as down, and A and power as confirm.
2. The recovery is sideways. This is because that's the native orientation of the display. TWRP 3 no longer has rotation code, so I can't rotate the display to landscape.
Also, I have yet to make a Linux rom boot using this. That's mostly because I haven't got the guest atags patch working on Fedora's kernel (haven't tried and personally don't really care about others). If and when I make it work, I'll try to make an mrom installer for it. Sound and graphics acceleration don't work, but everything else seems really solid. Kudos to @Gnurou for coding as much as he has and getting most of it merged into the upstream kernel.​
Changelog
20160526
Updated recovery to TWRP 3
20150905
Updated the Stock 106 zip to include the volume fix.
20150905
Added kexec patch for Stock 106.
20150801
Found problems in the kexec patch. Synced those to match Tassadars hammerhead patch and voila, stuff started working better... CM 12.1 and Stock 103 boot great as secondaries now.
20150723
With the release of official update 103, this seems to work pretty well. Some basic testing with stock as primary didn't show any problems. However, I haven't tested much. I've removed older kexec images since they would just cause problems anyway. I've also added multirom manger, which on a rooted system should set up everything in only a few taps.
20150604
Disabled adb in multirom completely. For some reason this breaks adb/mtp/etc in all roms, primary and secondary. Also, by doing a primary backup and restore to secondary, the stock rom boots as a secondary. Unfortunately, it seems to have all the same problems that it has as primary when multirom is enabled. On the bright side, CM seems to work perfectly fine as primary and secondary now.
20150528
Updated TWRP to latest upstream. Removed exfat-fuse support as well to allow it to fit. This means ROMs cannot be installed to external SDs or usb harddrives formatted as NTFS or exfat. ext2/3/4 and fat32 should work. However, inserting multirom into the stock image still breaks many things, so using multirom is still not recommended. I am hopeful that the eventual android 5.1 update will work better with multirom.
20150423
Updated multirom to fix force close of the play store on stock internal. Didn't work.​

Thanks for this! I now have grid gaming AND cm! Again thanks for your work on the shield.

Updated TWRP and Multirom. Still wouldn't call it truly usable, but at least it's workable now. Stock console mode and the play store break when multirom is in use. That's the obvious symptoms. Also noticeable is the internal sd not mounting... I still don't know how to fix it, but it seems part of the init scripts are either failing or plain not running. If you play with this, you'll want to keep a backup of a pristine boot.img around. That's what I'm doing when I want stock for a set top box. But now that adb is working in ROMs, I don't know of any problems using this with CM 12.1. That has me hopeful that if Nvidia ever gets it in gear and releases the update, this will all fall into place.

Tassadar updated the multirom TWRP to 2.8.7.0, so I ran builds. Still waiting on Nvidia before continuing with multirom research and implementation... Build in the second post.

Build updates and a success story. I can boot through the multirom boot menu to stock 103 without problems. I need to do more testing, but it looks like this is safe to use now. However, backup and restore in twrp seems broken with update 103. To the point a restored system will not boot.
Edit: Fixed the backup / restore problem. Link updated. Manager will be updated shortly.
Edit 2: Botched the kexec build apparently. Running a new one now and will update once actually tested this time.
Edit 3: Fixed the kexec kernel. But my previous CM 12.1 build won't boot as a secondary, whereas it did on the old kernel. Will have to debug this.

Does multirom work if the Shield's primary rom is KitKat? (Update 101) I haven't updated to Lollipop.
I noticed you don't have any kexec kernels for KitKat..

Steel01 said:
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 3 parts you need to install:
MultiROM (multirom-YYYYMMDD-vXX-UNOFFICIAL-roth.zip) - download the ZIP file from second post and flash it in recovery.
Modified recovery (twrp-multirom-YYYYMMDD-UNOFFICIAL-roth.img) - download the IMG file from second post and use fastboot or Flashify app to flash it.
Patched kernel - You can use either one of the stock ones listed below or third-party kernels which include the patch, you can see list in the second post. Flash it using TWRP.
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.​
2. Ubuntu Touch
Not yet ported​
3. Firefox OS
Not yet ported, but should be as easy as other Android ports.​
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 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 FAT32 partition, recovery asks you to set image size for all the partitions - this cannot be easilly changed afterward, so choose carefully. FAT32 is limited to maximum of 4095MB per image - it is limitation of the filesystem, I can do nothing about that.
Installation to USB drives takes a bit longer, because the flash drive is (usually) slower and it needs to create the images, so installation of Ubuntu to 4Gb image on my pretty fast USB drive takes about 20 minutes.
Enumerating USB drive can take a while in MultiROM menu, so when you press the "USB" button in MultiROM, wait a while (max. 30-45s) until it searches the USB drive. It does it by itself, no need to press something, just wait.​
Updating/changing ROMs
1. Primary ROM (Internal)
Flash ROM's ZIP file as usual, do factory reset if needed (it won't erase secondary ROMs)
Go to Advanced -> MultiROM in recovery and do Inject curr. boot sector.
2. Secondary Android ROMs
If you want to change the ROM, delete it and add new one. To update ROM, follow these steps:
Go to Advanced -> MultiROM -> List ROMs and select the ROM you want to update.
Select "Flash ZIP" and flash ROM's ZIP file.
Source code
MultiROM - https://github.com/CM-Shield/multirom (branch pad_support)
Modified TWRP - https://github.com/Tasssadar/Team-Win-Recovery-Project (branch master)
Device Tree https://github.com/CM-Shield/android_device_nvidia_roth (branch cm-12.0-mrom or twrp_min_omni)
Kernel w/ kexec-hardboot patch - https://github.com/CM-Shield/android_kernel_nvidia_roth (branch cm-12.0-mrom-new)​
XDA:DevDB Information
Shield Portable Multirom, Tool/Utility for the Nvidia Shield
Contributors
Steel01
Version Information
Status: Testing
Created 2015-04-23
Last Updated 2015-04-23
Click to expand...
Click to collapse
can you check the following tread http://forum.xda-developers.com/showthread.php?p=47964256#post47964256
they have a nice theme and its landscape mode and same resolution of the shield device
thanks

Small update.
Stock 103 boots fine as a secondary (using the copy primary to secondary function). That makes it a lot easier to experiment on the primary without having to flash back to stock anytime I want to do something not dev related.
Stock 101 does *not* currently boot as a secondary. If I set it up as primary, turn on adb, copy to secondary, then try to boot it, the logs show init blowing up all over itself. I have no idea why right now. Also, stock 101 won't work as a primary either, since things like the play store, console mode, and who know what else broke anytime I flashed a kexec kernel.
For some reason, multirom doesn't copy the boot image command line parameters into the secondaries kernel command line. This makes it difficult to disable selinux for porting purposes. I had to recompile the CM kernel with selinux disabled to get it to boot with the new blobs initially.
I expect I'll be able to fix the last point with a bit of research. At that point, dual booting CM and stock 103 should be completely feasible. I'm kinda stumped on the problem with 101, though. And since I don't plan to use it, I probably won't spend much time debugging the problem. If someone wants to look into that, I wouldn't mind helping them get started, though.
Edit:
 @paed808: No, I've removed the old kitkat kexec kernel for reasons stated above. I could boot into CM as a secondary with stock kitkat without problem; however, that broke stock so bad, I considered it unusable.

@Steel01 I just wanted to know just in case I accidentally enable Multirom while flashing a zip in TWRP. I don't want to use Multirom on my Shield Portable. I have a Nexus 7 for that. I just want TWRP, but this is the only TWRP for the NSP. If I accidentally enable Multirom what happens? Does it inject itself in the bootloader? If that fails, will it result in a brick?

paed808 said:
@Steel01 I just wanted to know just in case I accidentally enable Multirom while flashing a zip in TWRP. I don't want to use Multirom on my Shield Portable. I have a Nexus 7 for that. I just want TWRP, but this is the only TWRP for the NSP. If I accidentally enable Multirom what happens? Does it inject itself in the bootloader? If that fails, will it result in a brick?
Click to expand...
Click to collapse
Nah, it's really hard to brick one of these. Trust me, I overwrote the partition table and still was able to recover... (don't try that at home). As long as you don't flash the multirom zip, you won't even be able to access the multirom section inside TWRP and it won't inject itself during any other flashing.
The reason that this is the only truly working (and maintained) recovery on the Portable is because it has the screen rotation code. I couldn't get that to work properly for CWM (and agabren never released his code and won't respond to any contact about it) and upstream TWRP doesn't have it either. So, multirom TWRP is it. But as mentioned above, as long as you don't flash the multirom zip, it should act exactly like the upstream TWRP.
As a fun side note: There are two things that I currently know of that can brick a Shield device (Portable, Tablet, and TV)
1. Overwrite or delete the bootloader. That's the blob partition to fastboot. So yeah, be very careful when fastboot flashing that one.
2. Put something android doesn't recognize in the dtb partition. I actually didn't know this one until recently. The bootloader interacts with this partition during early boot, like before it hands off to boot.img. And apparently, that's the only way the bootloader will read a dtb and hand it off to the kernel. Yeah... so, I've been pretty lucky in my testing that I didn't brick my device by flashing something else there (like an upstream linux version, don't do that).
Interestingly, you can completely obliterate the partition table and the bootloader will still run. However, it won't be able to find the LNX partition to continue booting. But you can fastboot boot whatever you want (like Linux on an sdcard). Moral of the story: Don't let Linux 'fix' your internal GPT for you... You might have to pull favors with other Shield owners to undo that one. Well, I now keep a dd'ed copy of that GPT, just in case.

@Steel01. Thanks for the detailed explanation. Now I know what "blob" and "dtb" are. I thought just the boot.img was the bootloader, as it is on most Android devices.

Alright, I think this is finally ready for prime time. CM 12.1 and Stock 103 should work as primary or secondary without problem. If you see a problem, please report it. If you've got an older version installed, you'll want to reinstall almost everything: multirom, secondaries, kexec, etc. TWRP and the primary rom should be fine as is, though.
I was able to get Stock 101 to boot as a secondary. However, it's still not all there. The internal sd stuff doesn't all mount, causing all kinds of ugly problems, not the least of which is the Play Store crashing. I can manually run 'start sdcard' as root to get /mnt/shell/emulated mounted, but the links under /storage don't come up. At least at that point, the store works and it seems streaming and all that is fine. However, the main internal sd path (/storage/emulated/0) remains empty. So, not really a fully usable setup.
Edit:
Okay, so that was weird. I left my Portable booted into 101 for a bit. When I came back, all the internal sd mounts were correct. Eh? Maybe stuff refreshed after a bit and picked up the sdcard bind mount? Slightly confused, but it seems there is a way to make this work. Will probably look into this more eventually.

Does this break miracast, or is it a problem with lollipop? I edited system/build.prop and added persist.debug.wfd.enable=1 which allowed me to see my miracast adapters but it just disconnects and fails to pair. Running 103 stock rooted with your multimod recovery set up, but only internal stock rom with modified kernel. I can however cast the scrren through netflix app, thats it, hulu doesnt see them and i cant mirror screen. Thanks for any info!
Sent from my SAMSUNG-SM-G900A

the miracast its a problen with lolipop, but for you use the multi rom with last cm you need the shield using the update 103 with is lolipop

Working on my Shield portable using 103 and your CM Rom. Straightforward install but didn't know where to find CM Rom at first. One issue, downloads in CM were not accessible ( message cant open file) but were found in 103 downloads? Did I use wrong patch? Thks

Why an I not getting email updates to this thread... Sorry for the slow response.
Yeah, Google removed miracast support in Lollipop. I've never used screen casting, so I can't comment further than that.
Downloads in CM are not available? Do you mean that CM cannot access the internal SD download folder? If so, is the rest of the internal SD accessible? I'll check tonight when I can get my hands on my Portable.
You want the patch for whatever your internal ROM is. Though technically, you don't even need a primary ROM, that's what I'm have for testing right now. Everything is secondaries. In which case, you can use whatever boot image you want. Wouldn't recommend this for normal usage, though. The Portable is already short on space...

secondary Rom will only read offf of ext sdcard, not internal storage?
Edit: Storage now working. Don't know what changed. Rooted CM with Kingroot. 103 seems snappier than CM.

I was wondering if there was a permissions issue because it worked fine for me. But I'm using the newer cm build from later in the thread and not the stable one in the OP. And... Don't use root methods on CM... It's built in and in the developer options menu.

Related

[MOD][Z2] MultiROM v33d

{
"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
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.​
IMPORTANT
I'm not responsible for anything, you do all this on your own risk.
Once you have flashed and set up MultiROM, don't flash another boot.img using fastboot.
If you want to uninstall MultiROM, just flash the MultiROM uninstaller.
Your device must not be encrypted.
To all devs maintaing Stock-based ROMs: Feel free to use my patched stock kernels to add MultiROM support to your ROMs.
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
Install the MultiRom Manager app from the store and install the recovery and multirom.
Reboot into MultiROM TWRP and flash the MultiROM installer --> Sould be done automatically.
Make sure you are on a Rom compatible with one of these kernels and flash it
In order to boot a secondary rom you MUST enable the "kexec workaround" option in the MultiRom settings found in the recovery.
That's it. You can now go to "MultiROM menu" (Top right corner in the recovery) to start flashing other ROMs.
Alternative installation method (if installation via the above method fails)
Download the files named multirom-<date>.zip and recovery-<date>.img from here.
You should use md5sum to validate the downloaded files using the provided xyz.md5 files in the same download location.
Copy the files to the sdcard of your device.
Use "adb shell" to open a shell on the device and use "su" to obtain root rights (adb must be set up on your computer, instructions are found on xda).
Adjust the following command and enter it in the shell: "dd if=/sdcard/recovery-<date>.img of=/dev/block/platform/msm_sdcc.1/by-name/FOTAKernel"
Reboot into recovery (shutdown, then VolDown + Power).
Flash the multirom zip from the sdcard.
Enjoy.
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 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 "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.
Install a stock rom as secondary
This only works if you are using MultiRom version 33c or larger (excluding 33x-z).
1. Existing primary stock rom
Use these instructions if you plan to move an existing stock rom installed as primary. This guide assumes that multirom recovery is properly installed.
Shutdown the device.
Start the device into multirom recovery (VolDown + Power).
MAKE A BACKUP!
Go to "MultiROM menu" (Top right corner in the recovery) in recovery and tap "Swap roms".
Select the option "Copy primary rom to secondary/internal" and start the operation.
Wait until the operation finishes and flash your desired rom. (Alternatively you can also use any secondary rom to be the primary rom using the "Swap option" mentioned above.
Reboot.
2. Fresh stock installation
Use these instructions if you do not have a stock rom installed as primary. This guide assumes that multirom recovery is properly installed.
Shutdown the device.
Start the device into multirom recovery (VolDown + Power).
MAKE A BACKUP!
Install the stock rom via an install zip of via an FTF. NOTE: For the FTF method you need to shutdown the device and boot into download mode (VolDown pressed while connecting the USB cable; cable connected to the PC). Use for instance flashtool to flash ONLY the kernel, system, and cache image. In addition, you MUST select "Wipe apps_log"!
When the device reboots, let it boot up and finish the first time setup procedure.
Shutdown the device.
Start the device into multirom recovery (VolDown + Power).
Go to "MultiROM menu" (Top right corner in the recovery) in recovery and tap "Swap roms".
Select the option "Copy primary rom to secondary/internal" and start the operation.
Wait until the operation finishes and flash your desired rom. (Alternatively you can also use any secondary rom to be the primary rom using the "Swap option" mentioned above.
Reboot.
CHANGELOG
Code:
=== Version 33d (Bugfix release) ===
- Fix the apps_log issue for good (FINALLY).
- Support for LOS in combination with stock.
=== Version 33c ===
- Sync with XperiaMultiRom repository: cleaner implementation of some patches & extends the rom support w.r.t. old builds.
- Improved compatibility of custom N roms (AOSP init system) with stock roms: Allows to use stock roms as secondary rom.
- Bug fix: Set the version number in the Mrom binaries (for automatic updates).
=== Version 33b ===
- Small maintenance update to support "embedded/combined ramdisks" of secondary roms.
=== Version 33a ===
- Fixed booting Stock after starting secondary N rom.
=== Version 33z ===
- Fixed boot image injection of stock roms.
=== Version 33y ===
- New nokexec version 4 (previous: version 2).
- Support for AOSP 1.3.3 kernels (1.2.2 based kernels are also supported).
- Support for Android N (>= 7.0).
- Support for Sony Z2 stock roms as primary rom (I am investigating the installation as a secondary rom: it's installing, but not yet booting).
=== Version 33x ===
- Update Multirom from version 32 to 33.
- Update Multirom TWRP from version 2.8.7.0 to 3.0.2.
Detailed Xperia-Multirom Changelog
MultiRom
MultiRom Recovery
General Multirom Changelog
To be found here.
SOURCEs
MultiROM - https://github.com/XperiaMultiROM/multirom/ (branch master)
Modified TWRP - https://github.com/XperiaMultiROM/android_bootable_recovery (branch master)
Kernel w/ kexec-hardboot patch - https://github.com/Myself5/android_kernel_sony_msm8974/ (M5-Kernel)​
FAQs can be found here.
CREDITs
Tasssadar
Myself5
AdrainDC
Olivier
Garcia98
Thunder07
skin1980
Envious_Data
[NUT]
AndroPlus
Panic Brothers
I do not accept donations. But you may consider donation to Myself5 who did the original port, or to Tassadar who envisioned Multirom and did most of the implementation. We just jumped on the rolling train
Myself5:
Tassadar:
Thanks a lot to those who have donated!
XDA:DevDB Information
MultiROM for Sony Xperia Z2, Tool/Utility for the Sony Xperia Z2
Contributors
Myself5, Diewi
Source Code: https://github.com/XperiaMultiROM/multirom/tree/master
Version Information
Status: Testing
Created 2015-01-13
Last Updated 2018-01-23
DOWNLOAD
I still need to fix touch inside the MultiROM menu, for now you need to use the volume buttons to navigate.
https://diewald-net.com/files/public/MultiRom/sirius
The recovery.img is Tassadars modified TWRP to flash secondary Roms. It is needed to flash the secondary Roms.
Reserved
General Informations about Kexec are coming here soon.
Multi-Rom Random Post
Random Reserve Post
This is some real good progress in the Z2 development. When I'm not using the XDA One app I'll properly check out this thread. Thank you so much for this. I'll throw a donation your way at the end of the month.
EDIT:
Personally I think the installation instructions are a little bit ambiguous. Or is that your aim for this early in development?
Like in step one, I am assuming you need to be on an L ROM running your L kernel?
Is the multiROM TWRP embedded into your kernel?
The multiROM installer is the file multirom-20150113-v30x-UNOFFICIAL-sirius.zip, correct?
When do we need to flash the recovery.img you have provided?
Are the files under the KK/ directory needed yet?
Sorry for all the questions, I'm curious and want to try this but I don't wanna make any errors in the installation.
gamer649 said:
This is some real good progress in the Z2 development. When I'm not using the XDA One app I'll properly check out this thread. Thank you so much for this. I'll throw a donation your way at the end of the month.
EDIT:
Personally I think the installation instructions are a little bit ambiguous. Or is that your aim for this early in development?
Like in step one, I am assuming you need to be on an L ROM running your L kernel?
Is the multiROM TWRP embedded into your kernel?
The multiROM installer is the file multirom-20150113-v30x-UNOFFICIAL-sirius.zip, correct?
When do we need to flash the recovery.img you have provided?
Are the files under the KK/ directory needed yet?
Sorry for all the questions, I'm curious and want to try this but I don't wanna make any errors in the installation.
Click to expand...
Click to collapse
CM12 needs to be the host rom
after that you can install all you want
gamer649 said:
This is some real good progress in the Z2 development. When I'm not using the XDA One app I'll properly check out this thread. Thank you so much for this. I'll throw a donation your way at the end of the month.
EDIT:
Personally I think the installation instructions are a little bit ambiguous. Or is that your aim for this early in development?
Like in step one, I am assuming you need to be on an L ROM running your L kernel?
Is the multiROM TWRP embedded into your kernel?
The multiROM installer is the file multirom-20150113-v30x-UNOFFICIAL-sirius.zip, correct?
When do we need to flash the recovery.img you have provided?
Are the files under the KK/ directory needed yet?
Sorry for all the questions, I'm curious and want to try this but I don't wanna make any errors in the installation.
Click to expand...
Click to collapse
you need to flash the recovery.img to the FotaKernel Partition. ATM my M5-Kernel-V2-L is the only host kernel supported (therefore you need to be on CM12 as the Hostrom), more are yet to come (I work on a KK host kernel already and @AndroPlus Kernel is going to get supported soon too). The KK folder is not needed ATM, you just need M5 Kernel, the recovery.img flashed to FOTAKernel (see Recovery Collection Thread on how to do this) and then just flash the multirom*.zip and you are ready to go.
Hi Myself5, thanks for making multiboot rom for Z2, i always wanted to try something like this but my bootloader is "unlock allowed: no" is there any hope to run this on a locked bootloader / stock kernel or should i just complety forget about multiboot forever ??
Thanks for the work.
ptmaniac said:
Hi Myself5, thanks for making multiboot rom for Z2, i always wanted to try something like this but my bootloader is "unlock allowed: no" is there any hope to run this on a locked bootloader / stock kernel or should i just complety forget about multiboot forever ??
Thanks for the work.
Click to expand...
Click to collapse
MR needs a kexec-hardboot patched Kernel to load any other rom's kernel. However, as you can't flash any modified kernel I guess this is not possible for you. Sorry for that.
Hi and thanks for this beautiful feature. But I have a problem: I am on stock ROM 4.4.2 . Can I install a second ROM with a MultiROM remain on stock?
dalla96 said:
Hi and thanks for this beautiful feature. But I have a problem: I am on stock ROM 4.4.2 . Can I install a second ROM with a MultiROM remain on stock?
Click to expand...
Click to collapse
not yet. You need a MR compatible Host Kernel (it needs kexec-hardboot). Till now only my M5 Kernel for CM has it. Wait some weeks, I'm working with @AndroPlus to get kexec-hardboot going withAndroPlus Kernel
Double Post. Credits @tapatalk ...
Myself5 said:
not yet. You need a MR compatible Host Kernel (it needs kexec-hardboot). Till now only my M5 Kernel for CM has it. Wait some weeks, I'm working with @AndroPlus to get kexec-hardboot going withAndroPlus Kernel
Click to expand...
Click to collapse
OK thanks you very much
Are we Need to mod the ROM for that? Are that only work with Z2 ROMs?
I would test it soon as possible with androkernel.
dkionline said:
Are we Need to mod the ROM for that? Are that only work with Z2 ROMs?
I would test it soon as possible with androkernel.
Click to expand...
Click to collapse
no?
just install supported kernel, mod and the custom recovery.img
Just like all recoverys, otg stick doesn't mount... Please use Nut's recovery TWRP as base, that works ever. Is it normal that I can't touch anything really when the MultiRom Menu comes while booting?
Heyyy came across this and its awesome!!! So currently this mod works only for CM-based? Can I use a cm12 as a main and envi rom as my 2nd rom? D:laugh:
EDIT: Actually I tried flashing envi rom but it couldn't boot. My orginal CM12 rom boots fine though. Maybe I'm missing something. Do I need to flash kernels to the rom?
TheFerhatKing said:
Just like all recoverys, otg stick doesn't mount... Please use Nut's recovery TWRP as base, that works ever. Is it normal that I can't touch anything really when the MultiRom Menu comes while booting?
Click to expand...
Click to collapse
... Both your questions would be answered if you would have red the OP. I use @[NUT]s Device trees for TWRP already don't know why OTG is not working for you. A recovery log would be cool (After attaching the USB use adb to get it by using the command)
Code:
adb pull /tmp/recovery.log
The touch, as clearly written above the download link, is not yet working, I still need to fix this.
earthtk said:
Heyyy so currently this mod works only for CM-based? Can I use a cm12 as a main and envi rom as my 2nd rom?:laugh:
Click to expand...
Click to collapse
No as AndroPlus Kernel now has kexec-hardboot too you can use either stock or CM12/based (I'm working on a CM11 compatible Kernel) as the host Rom and any Z2 Rom you want as secondary Rom this is because secondary Roms need no patching (exept whats done when installing my MR itself) so you can use any Rom you want.
dkionline said:
Are we Need to mod the ROM for that? Are that only work with Z2 ROMs?
I would test it soon as possible with androkernel.
Click to expand...
Click to collapse
as you can read above, you only need to mod the host Rom (the Rom which is actually installed to the place it "belongs to") by installing a kexec-hardboot compatible kernel. And yes, OFC it does only work with Z2 Roms, this Mod is just for booting a Rom from a different place, not to magically make every Rom compatible with the Z2
I had read the whole op but not what was written over the download link sorry . But I didn't found where you said that you used Nuts device trees. I'm gonna do a log for you
TheFerhatKing said:
I had read the whole op but nut what was written ovet the download link sorry . But I didn't found where you said that you used Nuts device trees. I'm gonna do a log for you
Click to expand...
Click to collapse
Yeah, well you couldn't knew this, thats true Just checked again and discovered that I just mentioned him at the credits, not why. Sorry for that Looking forward to the log

[MOD][Arm64]MultiROM for YU Yureka[v33][Beta 1]

{
"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 Nexus 5. 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
Warning!
It _is_ dangerous. This whole thing is basically one giant hack - none of these systems are made with multibooting in mind. It is no longer messing with data partition or boot sector, but it is possible that something goes wrong and you will have to flash factory images again. Make backups. Always.
Installation
1. Via MultiROM Manager app
This is the easiest way to install everything MultiROM needs. Install the app and select MultiROM and recovery on the Install/Update card. If the Status card says Kernel: doesn't have kexec-hardboot patch! in red letters, you have to install also patched kernel - either select one on the Install/Update card or get some 3rd-party kernel here on XDA. You are chosing kernel for your primary ROM, not any of your (future) secondary ROMs, so select the version accordingly.
Press "Install" on the Install/Update card to start the installation.
2. Manual installation
Firstly, there are videos on youtube. If you want, just search for "MultiROM installation" on youtube and watch those, big thanks to all who made them. There is also an awesome article on Linux Journal.
MultiROM has 3 parts you need to install:
MultiROM (multirom-YYYYMMDD-vXX-tomato.zip) - download the ZIP file from second post and flash it in recovery.
Modified recovery (twrp_mrom.img) - download the IMG file from second post and use fastboot or Flashify app to flash it.
Patched kernel - You can use either one of the stock ones in second post or third-party kernels which include the patch, you can see list in the second post. Download the ZIP file and flash it in recovery.
You current rom will not be erased by the installation.
Download links are in the second post.
Adding ROMs
1. Android
Go to recovery, select Advanced -> MultiROM -> Add ROM. Select the ROM's zip file and confirm. As for the space, clean installation of stock 5.0 after first boot (with dalvik cache generated and connected to google account) takes about 676mb 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. 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 easily 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.
Downloads
1. Main downloads
MultiROM: multirom-20160220-v33-UNOFFICIAL-tomato.zip
Modified recovery (based on TWRP): recovery_mrom.img
Kexec-harboot kernel : Dominator-v2.4-2016-02-16-0953-UB.zip
2. Third-party kernels with kexec-hardboot patch
Yet to come!
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.
Credits
@abhishek987
@TheStrix
This port is based on the hard work of @Tasssadar, @500 Internal Server Error, Geoff Levand, @webgeek1234, Mike Kasick, @Hashbang173, and many others. Thank you.
XDA:DevDB Information
MultiROM for YU Yureka, Tool/Utility for the YU Yureka
Contributors
Men_in_black007, abhishek987
Version Information
Status: Testing
Created 2016-02-23
Last Updated 2016-02-23
FAQ's
1. Should I flash recovery only via Flashify app?
-Not essentially, You can flash it via recovery.
Boot to TWRP.
Install->Tap on Images(bottom right screen)>Locate and select your recovery.img
Flash to 'Recovery' partition.
Reboot back to TWRP(IMPORTANT).
2. Can I flash any other kernels?
-As of now NO. Only the given 'Dominator Kernel'
You can flash only 'kexec hardboot' supported kernels. Other kernels won't work.
Don't worry within few days, Devs are going to add support to their kernels.
3. Which roms can I flash?
-All Android 5.1+ roms can be flashed without any issues.
14 How to flash without Hardbricking?
-Follow the steps from OP and there are videos to make the things easy in initial pages.
Maximum it causes bootloops(softbrick), not hardbrick if you follow the guide.
5. Can I flash roms to ext-sd card and USB-otg? How?
-Yes you can flash them to ext-sd card and USB-otg.
Boot to TWRP.
Tap on Multirom.
Tap on ADD ROM
Select the right Location
Spoiler: Meomry Location SS
Flashing on ext-sd and USB otg takes some time, so be patient, don't freak out!
6. Where to find roms installed in my ext-sd and USB? How to boot into 'em?
-After flashing you'll be booted into MultiROM menu.
All your roms flashed on internal memory will be in Internal tab.
Others will be in External tab.
Spoiler: Screenshot
7. How to rename/remove/delete/wipe dalvik & cache or flash any other zips to existing rom?
-Follow
Boot to recovery.
Tap on MultROM
Tap on the rom which you want to remove/add zips.
You'll find all the options you need!
Spoiler: Screenshot
8. Is there any option of app sharing?
-NO. This is entirely different from mboot. You need to install separate apps in each ROM.
9. "Unable to flash, I'm getting errors" / "Executing updater script failed" / "Rom is not booting" ????
-Please provide logs. It'll be located in /data/media/0/multirom/last_kexec. log
It'd great if you can provide the screenshots.
Press VOL DOWN + LOCK KEY to take Screenshots.
Bugs
This is just a beta build so bugs are expected some of bugs the bugs which I am aware of are
* Roms above 5.1 are working (5.1 roms are also working)
* Ported roms are not working however roms ported as taking 5.1 gets boot
If you found any just report me
Video
Check this video for proper installation :
https://youtu.be/aAYSLt8zjNE
RESERVED
excellent work....
finally multi rom recovery is here.....
thanks bro...
@Men_in_black007, in muliboot app, when I click on rom, I get the error "could not determine the boot partition because this device's codename 'YUREKA' is not recognized." no matter which ROM i flash.
Please let me know if there is a work around for this.
I have tried flashing cm12.1 latest nightly , MIUI V7 developer edition v6.3.24, cm 13 latest nightly as primary ROMS.
Reserved
Reserved...
Trying it. Exited.:highfive:
there is no multirom option in advanced....please help
No link for Uninstallation.
Do we hav to keep the given kernel installed for using multirom? Or can we change it once secondary rom is installed?
Sent from my AO5510 using XDA-Developers mobile app
Dominator kernel isn't working with new official cm13 nightly builds.. Please fix...
purig said:
Dominator kernel isn't working with new official cm13 nightly builds.. Please fix...
Click to expand...
Click to collapse
Yes, it won't work until gets updated with new source.
What is the android version of this rom??is it AOSP based??thank you!!
Yureka + ?
Men_in_black007 said:
Introduction
MultiROM is one-of-a-kind multi-boot mod for Nexus 5. 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
Warning!
It _is_ dangerous. This whole thing is basically one giant hack - none of these systems are made with multibooting in mind. It is no longer messing with data partition or boot sector, but it is possible that something goes wrong and you will have to flash factory images again. Make backups. Always.
Installation
1. Via MultiROM Manager app
This is the easiest way to install everything MultiROM needs. Install the app and select MultiROM and recovery on the Install/Update card. If the Status card says Kernel: doesn't have kexec-hardboot patch! in red letters, you have to install also patched kernel - either select one on the Install/Update card or get some 3rd-party kernel here on XDA. You are chosing kernel for your primary ROM, not any of your (future) secondary ROMs, so select the version accordingly.
Press "Install" on the Install/Update card to start the installation.
2. Manual installation
Firstly, there are videos on youtube. If you want, just search for "MultiROM installation" on youtube and watch those, big thanks to all who made them. There is also an awesome article on Linux Journal.
MultiROM has 3 parts you need to install:
MultiROM (multirom-YYYYMMDD-vXX-tomato.zip) - download the ZIP file from second post and flash it in recovery.
Modified recovery (twrp_mrom.img) - download the IMG file from second post and use fastboot or Flashify app to flash it.
Patched kernel - You can use either one of the stock ones in second post or third-party kernels which include the patch, you can see list in the second post. Download the ZIP file and flash it in recovery.
You current rom will not be erased by the installation.
Download links are in the second post.
Adding ROMs
1. Android
Go to recovery, select Advanced -> MultiROM -> Add ROM. Select the ROM's zip file and confirm. As for the space, clean installation of stock 5.0 after first boot (with dalvik cache generated and connected to google account) takes about 676mb 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. 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 easily 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.
Downloads
1. Main downloads
MultiROM: multirom-20160220-v33-UNOFFICIAL-tomato.zip
Modified recovery (based on TWRP): recovery_mrom.img
Kexec-harboot kernel : Dominator-v2.4-2016-02-16-0953-UB.zip
2. Third-party kernels with kexec-hardboot patch
Yet to come!
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.
Credits
@abhishek987
@TheStrix
This port is based on the hard work of @Tasssadar, @500 Internal Server Error, Geoff Levand, @webgeek1234, Mike Kasick, @Hashbang173, and many others. Thank you.
XDA:DevDB Information
MultiROM for YU Yureka, Tool/Utility for the YU Yureka
Contributors
Men_in_black007, abhishek987
Version Information
Status: Testing
Created 2016-02-23
Last Updated 2016-02-23
Click to expand...
Click to collapse
Sir can I use this in my yureka plus?
where is multirom apk??

[MOD][MultiROM][v33][Beta 1]

{
"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"
}
[/CENTER]
Introduction
MultiROM is one-of-a-kind multi-boot mod for Redmi note 3. 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 redmi note 3
* 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. we dont need patch kernel with the no kexec workaround
MultiROM (multirom-YYYYMMDD-vXX-wt88047-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 MultiROM -> Add ROM. Select the ROM's zip file and confirm.​
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 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 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.​
XDA:DevDB Information
[MOD][MultiROM][v33][Beta 1][kenzo], Tool/Utility for the Xiaomi Redmi Note 3
Contributors
zeeshanhussain12
Source Code: https://github.com/multirom-nexus6p
Version Information
Status: Beta
Beta Release Date: 2016-06-15
Created 2016-06-15
Last Updated 2016-06-15
Reserved
DOWNLOADS
1. Main Downloads
Multirom :- multirom-20160615-v33-UNOFFICIAL-kenzo.zip
Multirom recovery:- recovery.img
2. third-party kernels with kexec-hardboot patch
no need with kexec workaround
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.
Reserved
FAQ's
1. Should I flash recovery only via Flashify app?
-Not essentially, You can flash it via recovery.
Boot to TWRP.
Install->Tap on Images(bottom right screen)>Locate and select your recovery.img
Flash to 'Recovery' partition.
Reboot back to TWRP(IMPORTANT).
2.Can I flash any other kernels?
-yes you can flash any roms
3.Which roms can I flash?
-All Android 5.1+ roms can be flashed without any issues.
miui is not supported
4.How to flash without Hardbricking?
-Follow the steps from OP and there are videos to make the things easy in initial pages.
Maximum it causes bootloops(softbrick), not hardbrick if you follow the guide.
5.Can I flash roms to ext-sd card and USB-otg? How?
-Yes you can flash them to ext-sd card and USB-otg.
Boot to TWRP.
Tap on Multirom.
Tap on ADD ROM
Select the right Location
Flashing on ext-sd and USB otg takes some time, so be patient, don't freak out!
sd1 = usb otg
mmcblklpa = sd card
6.Where to find roms installed in my ext-sd and USB? How to boot into 'em?
-After flashing you'll be booted into MultiROM menu.
All your roms flashed on internal memory will be in Internal tab.
Others will be in External tab.
7.How to rename/remove/delete/wipe dalvik & cache or flash any other zips to existing rom?
-Follow
Boot to recovery.
Tap on MultROM
Tap on the rom which you want to remove/add zips.
You'll find all the options you need!
9."Unable to flash, I'm getting errors" / "Executing updater script failed" / "Rom is not booting" ????
-Please provide logs. It'll be located in /data/media/0/multirom/last_kexec. log
It'd great if you can provide the screenshots.
Press VOL DOWN + LOCK KEY to take Screenshots.
10.How to disable auto boot / change rom name / hide roms / brightness of Multirom menu?
-Follow
Boot to recovery.
Tap on MultiROM.
Tap on 3 dots on top right of screen.
Select settings.
Here you find all the customisations for MultiROM menu.
BUGS
- Miui is not supported
Credits @nkk71 for his no kexec workaround @Abhishek from yu forums @TheStrix for cm
NOTE :- All the devs are requested to help in improving this project as it is still in beta stage

			
				
Reserved for future....who knows what crazy post will be made here
Good job @zeeshanhussain12
VIDEO GUIDE (SOON WILL BE KENZO SPECIFIC)
Awesome.... Thank you
Sent from my SHIELD Tablet using XDA-Developers mobile app
yes,it looks so good
Sent from my Hol-U19 using XDA-Developers mobile app
Shahan_mik3 said:
Reserved for future....who knows what crazy post will be made here[emoji14]
Good job @zeeshanhussain12
Click to expand...
Click to collapse
Come make eos rom like mi3 here m8.. Im ex-user mi3..
Sent from my Redmi Note 3 using XDA-Developers mobile app
Can't boot to the rom...
The multirom screen shows up and when i select the rom, device reboots and again shows up....
I had to uninstall multirom and now it's booting into my primary rom normally...
This looks interesting. I’m definitely going to try it.
But when you say MIUI not supported, does that mean MIUI doesn’t work as a secondary ROM, or MIUI doesn’t work at all? How about Xiaomi.EU builds that don’t mess with TWRP? I’ve never tried MultiROM, but I have recently been playing with Dual Boot Patcher on my old Redmi 1S. I can get Xiaomi.EU MIUI to work both as a primary and a secondary ROM, but I also have to flash TWRP every time I update it.
Also what happens if I use ROMs with different bootloaders? For example, Santhosh uses stock MM bootloader and Balika011 uses a modified bootloader from AOSP ROM (I think). How would that work?
nice to see you here buddy @zeeshanhussain12.
ayush321 said:
Can't boot to the rom...
The multirom screen shows up and when i select the rom, device reboots and again shows up....
I had to uninstall multirom and now it's booting into my primary rom normally...
Click to expand...
Click to collapse
Working on porting kexec to our kernel ( currently it stuck on mi logo) this workaround is not working with all ROMs
edit- looks like the problem is with dtb. people are using different trees for roms which have different dtb. it is causing this issue. we have to wait for official cm trees or use the roms which is built by same trees . the roms i tried was built by same trees thats why its fine for me
Sent from my Redmi Note 3 using Tapatalk
Filip013 said:
This looks interesting. I’m definitely going to try it.
But when you say MIUI not supported, does that mean MIUI doesn’t work as a secondary ROM, or MIUI doesn’t work at all? How about Xiaomi.EU builds that don’t mess with TWRP? I’ve never tried MultiROM, but I have recently been playing with Dual Boot Patcher on my old Redmi 1S. I can get Xiaomi.EU MIUI to work both as a primary and a secondary ROM, but I also have to flash TWRP every time I update it.
Also what happens if I use ROMs with different bootloaders? For example, Santhosh uses stock MM bootloader and Balika011 uses a modified bootloader from AOSP ROM (I think). How would that work?
Click to expand...
Click to collapse
miui gives error while flashing as secondary. i have not tried Xiaomi.EU roms. i have ported DualBootPatcher too i have it in my drive . it doesn't work well with sd 650 as qcom changed base directory in mm and lp. the current problem is with dtb nearly every rom is using different source which have different dtb, it is causing problems. we just have to wait for one official source or use the roms which is built with same trees
zeeshanhussain12 said:
Working on porting kexec to our kernel ( currently it stuck on mi logo) this workaround is not working with all ROMs
edit- looks like the problem is with dtb. people are using different trees for roms which have different dtb. it is causing this issue. we have to wait for official cm trees or use the roms which is built by same trees . the roms i tried was built by same trees thats why its fine for me
Sent from my Redmi Note 3 using Tapatalk
Click to expand...
Click to collapse
Can you tell me which roms are currently working with multiROM...
Reserved
Waiting for miui support
Sent from my Redmi Note 3 using XDA-Developers mobile app
Hadi al-Haiqal said:
Come make eos rom like mi3 here m8.. Im ex-user mi3..
Click to expand...
Click to collapse
Haha Eos was the best and can't be replaced
zeeshanhussain12 said:
[/CENTER]
Introduction
MultiROM is one-of-a-kind multi-boot mod for Redmi note 3. 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 redmi note 3
* 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. we dont need patch kernel with the no kexec workaround
MultiROM (multirom-YYYYMMDD-vXX-wt88047-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 MultiROM -> Add ROM. Select the ROM's zip file and confirm.​
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 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 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.​
XDA:DevDB Information
[MOD][MultiROM][v33][Beta 1][kenzo], Tool/Utility for the Xiaomi Redmi Note 3
Contributors
zeeshanhussain12
Source Code: https://github.com/multirom-nexus6p
Version Information
Status: Beta
Beta Release Date: 2016-06-15
Created 2016-06-15
Last Updated 2016-06-15
Click to expand...
Click to collapse
Awesome Work buddy! Keep going!
@War_machine28 said:
Awesome Work buddy! Keep going!
Click to expand...
Click to collapse
Please don't quote the whole op...

[MOD][AUGUST 1][Moto G 2015] MultiROM v33a [No Kexec Workaround]

{
"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 G 2015. 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_osprey_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-osprey-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-redmi2/multirom (branch master)
Modified TWRP - https://github.com/Tasssadar/Team-Win-Recovery-Project (branch android-6.0)
Device Tree - https://github.com/Multirom-Lux/android_device_motorola_osprey/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=24591000424951534
Modified recovery (based on TWRP): https://www.androidfilehost.com/?fid=24591000424949588
Multirom Uninstaller: https://www.androidfilehost.com/?fid=24591000424949587​
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.​
Enabling no-kexec workaround
As of this version you need to manually enable the no-kexec workaround.
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
Booting into primary, while the previous rom was using the no-kexec-workaround
(in which case the real primary needs to be restored first)
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.... has been for quite some time, but I kinda kept it hidden
.
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:
What we (yes, we) have come to affectionately call the "lingering primary_boot.img" this should now be taken care of, as much as possible
.
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 kernel and names it primary_boot.img
This backup is created and/or used only under certain situations, for example (this is not an exhaustive list):
the last ROM was primary, and we want to boot a secondary ---> backup the primary boot.img, flash secondary one
.
the last ROM was secondary, and we're booting another secondary ---> just flash the secondary boot.img
.
the last ROM was secondary, and want to boot the primary ROM --> restore the primary_boot.img we backed up
.
^^ and here lies the problem, we cannot actually say if the backup we created is actually correct for the primary ROM.... ideally it is, but there are easy ways to break that UPDATE: not so easy to break it all, anymore
one very simple example (as mentioned in the FAQs) would be:
==> Reboot from secondary to recovery, flash new primary ROM/kernel ---> the backup of primary_boot.img will still be there, MultiROM will still think the last ROM was a secondary, and therefore restore the backup; which will result in a non-booting primary ROM since the backed up kernel doesnt actually belong to this ROM
this is what I call a "lingering primary_boot.img"
this is just one simple example, but it can happen for a variety of reasons... interrupted boots, some app/method flashed a new kernel, etc.
The solution for the "lingering primary_boot.img":
Delete (if it's there): /data/media/0/multirom/last_rom_was_2nd no longer used
Delete (if it's there): /data/media/0/multirom/primary_boot.img
Reflash or restore the correct boot.img for your primary ROM
New safe guards to avoid a "lingering primary_boot.img":
TWRP will restore the primary boot.img when entering recovery
MultiROM identifies whether the boot.img currently in primary slot is secondary, by checking the boot.img itself;
it no longer relies on a separate file (last_rom_was_2nd)
If the boot.img in primary slot is not tagged as a secondary, it is considered a new primary boot.img
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 full second boot but with the secondary boot.img in the real boot partition
MultiROM 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
Small note regarding encrypted devices using the no-kexec workaround
Since I dont use encryption, I haven't tested this to much extent, but I believe that there is a BOOT PRIMARY ROM option, which you can choose to boot into Internal without decrypting the device first.
Please be aware that this should not be used, if: the last booted ROM was a secondary using the no-kexec workaround.
The reason is that the backup of the primary_boot.img, is stored in the multirom folder, so for the no-kexec to be able to restore it, it needs access to the /data partition:
Booting into primary, while the previous rom was using the no-kexec-workaround
(in which case the real primary needs to be restored first)
It's not too much of a big deal, because when the no-kexec workaround encounters an error, it reboots to recovery (and since recovery will restore the primary_boot.img), another reboot would be fine.
I do however (until I address this particular issue), encourage you not to use the BOOT PRIMARY ROM option, but instead decrypt the device, and then select the Internal ROM to boot.
Will this remain a "beta" version?
Most probably YES it will.... MultiROM is supposed to work with a kexec-hardboot enabled kernel; since that does not exist (at this time), on arm64 devices, I am using a workaround; since it doesn't exist and doesn't work, just work around it, if possible ... (call it "non-linear thinking" thinking if you wish)
until such time as the original author sees fit, or I decide to rename as "stable" (imho it is), it will remain called a "beta"
I have extensively tested this on the HTC One M7, the M8, and the M9 and have not found any side effects, so as of version 33b (2016-04-16), I consider this a stable release.
Devices using the no-kexec-workaround successfully
MultiROM threads for:
HTC One M7
HTC One M8
HTC One M9
.
OnePlus One (starting here) by @KINGbabasula
Sony Xperia Z5 by @Myself5
(possibly Samsung Note 4, unsure if that was continued or not)
Others; unofficial builds?
Credits to:
@premaca (For helping with bringup)
@squid2 (For TWRP trees)
@Hashbang173 (Guiding me with no kexec workaround)
@nkk71 (For kexec workaround)
@Flashhhh & @androidbaba (For testing)
@GtrCraft thanks man for bringing multiboot to osprey. Btw Which roms are supported as of now with this?
sagar27691 said:
@GtrCraft thanks man for bringing multiboot to osprey. Btw Which roms are supported as of now with this?
Click to expand...
Click to collapse
Every rom for osprey
Sent from my XT1562 using XDA Labs
GtrCraft said:
Every rom for osprey
Sent from my XT1562 using XDA Labs
Click to expand...
Click to collapse
Won't work on merlin ??
Although i know merlin has just a few roms !!!!
gregferns said:
Won't work on merlin ??
Although i know merlin has just a few roms !!!!
Click to expand...
Click to collapse
No
GtrCraft said:
Every rom for osprey
Sent from my XT1562 using XDA Labs
Click to expand...
Click to collapse
ohk... great... thanks
Good work @GtrCraft
Sent from my MotoG3 using XDA-Developers mobile app
Nice, congrats on the release. :good::good:
I need to fix up that text regarding the no-kexec workaround, since "lingering primary_boot.img" is no longer an issue... at worst a "lost/missing primary_boot.img" could be an issue, but I have not encountered / heard of it yet
Nice 1 gt am so glad ur developing for osprey!!
Thank you very much for your precious development for osprey...
But is it possible to get touch instead of hardware keys to select Roms while boot.
awesome work guys
actaully i cant install rom on ext-sdcard (as formated internal ) as it says failed to fixup roms name while adding rom on ext-sdcard and second i cant install dirty unicorn rom
and last there is not showing all files on my internal and external storage in recovery even my roms for installing sorry for my bad english
again thank you all guys for doing a great job
samirza692 said:
awesome work guys
actaully i cant install rom on ext-sdcard (as formated internal ) as it says failed to fixup roms name while adding rom on ext-sdcard and second i cant install dirty unicorn rom
and last there is not showing all files on my internal and external storage in recovery even my roms for installing sorry for my bad english
again thank you all guys for doing a great job
Click to expand...
Click to collapse
Dont install roms on ext sd card
Sent from my XT1562 using XDA Labs
nkk71 said:
Nice, congrats on the release. :good::good:
I need to fix up that text regarding the no-kexec workaround, since "lingering primary_boot.img" is no longer an issue... at worst a "lost/missing primary_boot.img" could be an issue, but I have not encountered / heard of it yet
Click to expand...
Click to collapse
Yeah, pm me if you have anything new
Sent from my XT1562 using XDA Labs
Arcade said:
Thank you very much for your precious development for osprey...
But is it possible to get touch instead of hardware keys to select Roms while boot.
Click to expand...
Click to collapse
The testers told me touch does work
Sent from my XT1562 using XDA Labs
GtrCraft said:
The testers told me touch does work
Sent from my XT1562 using XDA Labs
Click to expand...
Click to collapse
Touch is not working. I mean touch is working in multirom twrp but once you switch on the phone it gives option to chose which one we have to install there touch is not working I am able to choose only by using harware volume keys...
Anyone else facing similar problem. If I m only one who is facing this what is gone wrong help me fix it please.
Arcade said:
Touch is not working. I mean touch is working in multirom twrp but once you switch on the phone it gives option to chose which one we have to install there touch is not working I am able to choose only by using harware volume keys...
Anyone else facing similar problem. If I m only one who is facing this what is gone wrong help me fix it please.
Click to expand...
Click to collapse
Yes +1
Touch not working while selecting which ROM to boot
Everything else works perfectly though
Thanks @grtcraft for your efforts
Sent from my MotoG3 using XDA-Developers mobile app

[MOD][D802] MultiRom V33 [WIP]

{
"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 the LG G2. 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.​
Click to expand...
Click to collapse
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.​
Click to expand...
Click to collapse
Installation
1. Via MultiROM Manager app
This is the easiest way to install everything MultiROM needs. Install the app and select MultiROM and recovery on the Install/Update card. If the Status card says Kernel: doesn't have kexec-hardboot patch! in red letters, you have to install also patched kernel - either select one on the Install/Update card or get some 3rd-party kernel here on XDA. You are chosing kernel for your primary ROM, not any of your (future) secondary ROMs, so select the version accordingly.
Press "Install" on the Install/Update card to start the installation.​
2.Manual installation
Firstly, there are videos on youtube. If you want, just search for "MultiROM installation" on youtube and watch those, big thanks to all who made them. There is also an awesome article on Linux Journal.
MultiROM has 3 parts you need to install:
MultiROM (multirom-YYYYMMDD-vXX-d802-UNOFFICIAL.zip) - download the ZIP file from second post and flash it in recovery.
Modified recovery (TWRP_multirom_d802_YYYYMMDD.img) - download the IMG file from second post and use fastboot or Flashify app to flash it.
Patched kernel - You can use either one of the stock ones in second post or third-party kernels which include the patch, you can see list in the second post. Download the ZIP file and flash it in recovery.
You current rom will not be erased by the installation.
Download links are in the second post.​
Click to expand...
Click to collapse
Adding ROMs
1. Android
Go to recovery, select Advanced -> MultiROM -> Add ROM. Select the ROM's zip file and confirm. As for the space, clean installation of stock 4.2 after first boot (with dalvik cache generated and connected to google account) takes 676mb of space.​
Click to expand...
Click to collapse
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.​
Click to expand...
Click to collapse
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.
Click to expand...
Click to collapse
Source code
https://github.com/multirom-g2
https://gist.github.com/wulsic/dfce9de8983d0a6247350fa2e45c13d4
Thanks to
@Tasssadar
@Eliminater74 - For his previous work on MultiROM for the G3 devices
@nkk71 - For the extra twrp/multirom mods including The kmsg logging options
@z31s1g - For The TWRP Themes (MultiRom)
@Skin1980 - For his previous work on MultiRom and LiveBump
@dadi11 for his modded version of skin1980's script
@blastagator for his TWRP devicetree and base installer zip
@genesixxbf3 && @berryman13 for their previous help on the old multirom
And everyone else I probably forgot.
Click to expand...
Click to collapse
Downloads
Flash Order
MultiRom TWRP
Kexec Hardboot patched kernel (CM-13.0 BASED)
Multirom Installer
Click to expand...
Click to collapse
Downloads
MultiROM Installation Files:D802
Click to expand...
Click to collapse
Attention!
Flashing is at your own risk. You can't blame me if you didn't read everything correctly and or ended up getting softbricked.
Click to expand...
Click to collapse
Release only for D802 yet, Support for all G2 variants incoming soon
Click to expand...
Click to collapse
MultiRom status: it boots the second rom but it will eventually bootloop, could also be that I did something wrong or that I must change some variable still. I am trying to logcat it but can't get logcat to work even after editing ramdisk and last_kmsg is always gone so I gotta think of something for that.
Btw. I don't know how it works with loki and my TWRP MultiRom doesn't have extra temperature control and so on like Blastagators twrp has but I can say it's safe to use as I've used it already for sometime and didn't noticed too high temperatures
If someone has some advice or ideas too then he or she is free to be my guest and reply
Also if someone could acquire an logcat from an secondary rom that's also bootlooping that would be nice.
Files are still uploading
EDIT:
It took a bit longer to upload the files as my computer couldn't handle the my virtual machine anymore
Also Mokee comes to optimizing apps screen but then goes back to the boot animation, so that's an good sign
Thanks for this. I Will definitely try this later.
The project is great but it didn't work here using crDroid as primary ROM. Don't even show the screen to choose which ROM to boot. Will keep an eye on it for future updates. Sorry I can't help more.
Wow! You are an hero!
This was the only regret from my previous nexus device!
jneto3000 said:
The project is great but it didn't work here using crDroid as primary ROM. Don't even show the screen to choose which ROM to boot. Will keep an eye on it for future updates. Sorry I can't help more.
Click to expand...
Click to collapse
Did you properly installed the multirom trampoline afterwards in the multirom twrp? And well I actually hoped that more people would invest in this and also send logcats etc but it seems that or nobody watches original android dev or nobody really can help much with it, I am also trying to finish it further but I don't have much time and I am sure that it's almost to the final part, only some small configuration fixes so I gotta think of an way to logcat as it's also my daily driver. I also hoped that this fundemental base could also inspire other devs by looking again further into it. I can't test 24/7 but thanks for those who even flashed it at all and I hope I can make it soon fully working and if neccesary I will move it to android dev section that it could get perhaps a bit more attention:good:
Is it stable this version? Or is it as the old multirom?
matteo0026 said:
Is it stable this version? Or is it as the old multirom?
Click to expand...
Click to collapse
it's a step further then the old multirom as that couldn't like boot properly or the rom had to use the same kernel but I will try to use soon the old kexec patch to see if it works but if it's good then mine adjusted one should've worked better but I'll try to compile it as soon again as I have time. The interest still stays low
wulsic said:
it's a step further then the old multirom as that couldn't like boot properly or the rom had to use the same kernel but I will try to use soon the old kexec patch to see if it works but if it's good then mine adjusted one should've worked better but I'll try to compile it as soon again as I have time. The interest still stays low
Click to expand...
Click to collapse
Thanks! My dream is that i can edit all the partitions size that i can use all the space at the better. (now i can only use adb and edit it with shell)
wulsic said:
Did you properly installed the multirom trampoline afterwards in the multirom twrp? And well I actually hoped that more people would invest in this and also send logcats etc but it seems that or nobody watches original android dev or nobody really can help much with it, I am also trying to finish it further but I don't have much time and I am sure that it's almost to the final part, only some small configuration fixes so I gotta think of an way to logcat as it's also my daily driver. I also hoped that this fundemental base could also inspire other devs by looking again further into it. I can't test 24/7 but thanks for those who even flashed it at all and I hope I can make it soon fully working and if neccesary I will move it to android dev section that it could get perhaps a bit more attention:good:
Click to expand...
Click to collapse
I did as mentioned by you in the OP:
1. MultiROM TWRP
2. Kexec kernel
3. MultiROM zip
Then I reboot recovery and went to MultiROM option to install a secondary ROM, using Krexus and then XOSP. It says the ROM is installed fine but when I reboot device It boots up directly to primary ROM (which is crDroid).
What am I doing wrong?
I guess this topic would have more attention if it were in Android Development section, people might see this MultiROM topic and think this is the same old topic that already exists and is not working anymore.
Also, about the logcat not working, the only thing I know is about enabling adb on ramdisk, which I did here using Android Image Kitchen (the one you posted is not enabled yet) and replaced boot.img by the new one, but I couldn't test since the MultiROM did not work here yet.
I'm very excited about this multirom. The fact is that if anything goes wrong I might lose something. I still use the g2 as primary phone.
Soon or later I'll try also this mod.
Thanks @op for the effort.

Categories

Resources