• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!
  • Fill out your device list and let everyone know which phones you have!    Edit Your Device Inventory

MultiROM v32 - unofficial port

Search This thread

Steel01

Recognized Developer
Dec 14, 2008
1,263
2,809
vh3puLb.png
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-shieldtablet.zip) - download the ZIP file from second post and flash it in recovery.
  • Modified recovery (twrp-multirom-YYYYMMDD-UNOFFICIAL-shieldtablet.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 image and flash it through fastboot or Flashify.
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, NTFS and FAT32 partitions are supported) and proceed with the installation.
If you wanna use other than default FAT32 partition, just format it in PC. If you don't know how/don't know where to find out how, you probably should not try installing MultiROM.
If you are installing to NTFS or FAT32 partition, recovery asks you to set image size for all the partitions - this cannot be easilly changed afterward, so choose carefully. FAT32 is limited to maximum of 4095MB per image - it is limitation of the filesystem, I can do nothing about that.
Installation to USB drives takes a bit longer, because the flash drive is (usually) slower and it needs to create the images, so installation of Ubuntu to 4Gb image on my pretty fast USB drive takes about 20 minutes.
Enumerating USB drive can take a while in MultiROM menu, so when you press the "USB" button in MultiROM, wait a while (max. 30-45s) until it searches the USB drive. It does it by itself, no need to press something, just wait.​



Updating/changing ROMs

1. Primary ROM (Internal)
  • Flash ROM's ZIP file as usual, do factory reset if needed (it won't erase secondary ROMs)
  • Go to Advanced -> MultiROM in recovery and do Inject curr. boot sector.
2. Secondary Android ROMs
If you want to change the ROM, delete it and add new one. To update ROM, follow these steps:
  • Go to Advanced -> MultiROM -> List ROMs and select the ROM you want to update.
  • Select "Flash ZIP" and flash ROM's ZIP file.



Source code
MultiROM - https://github.com/CM-Shield/multirom (branch flipped-screen)
Modified TWRP - https://github.com/Tasssadar/Team-Win-Recovery-Project (branch master)
Device Tree - https://github.com/CM-Shield/android_device_nvidia_shieldtablet (branch cm-12.0-unified-mrom)
Kernel w/ kexec-hardboot patch - https://github.com/CM-Shield/android_kernel_nvidia_shieldtablet (branch cm-12.0-mrom)
 
Last edited:

Steel01

Recognized Developer
Dec 14, 2008
1,263
2,809
Downloads

1. Main downloads

MultiROM: multirom-20150909-v32a-UNOFFICIAL-shieldtablet.zip
MultiROM Touch Support (only needed if not upgrading): multirom_shieldtablet_touch_support.zip
Modified recovery (based on TWRP 2.8.7.0): twrp-multirom-20150909-UNOFFICIAL-shieldtablet.img

Kernel kexec-hardboot patch (Stock 5.1.1 all variants): kexec_patch_stock_311.zip
Kernel kexec-hardboot patch (Stock 5.1.1 all variants): kexec_patch_stock_31.zip

Kernel w/ kexec-hardboot patch (Stock 5.1.0 wx_na_wf): kexec_boot_stock_na_wf_30.img
Kernel w/ kexec-hardboot patch (Stock 5.1.0 wx_na_do): kexec_boot_stock_na_do_30.img
Kernel w/ kexec-hardboot patch (Stock 5.1.0 wx_un_do): kexec_boot_stock_un_do_30.img

Kernel w/ kexec-hardboot patch (Stock 5.0.1 wx_na_wf): kexec_boot_stock_na_wf.img
Kernel w/ kexec-hardboot patch (Stock 5.0.1 wx_na_do): kexec_boot_stock_na_do.img
Kernel w/ kexec-hardboot patch (Stock 5.0.1 wx_un_do): kexec_boot_stock_un_do.img

MultiROM Manager: MultiROMMgr.apk



2. third-party kernels with kexec-hardboot patch
BitO-K - http://forum.xda-developers.com/shield-tablet/development/tweaked-kernel-nvidia-shield-tablet-t3069776

Nicely ask your kernel developer to merge kexec-hardboot patch (patch for shieldtablet).​

3. Other downloads

Ubuntu (kernel and packaging by Bogdacutu):


4. Old downloads by Bogdacutu

 
Last edited:

xanthrax

Sr. Mod / Mod Committee Lead / RC-RT Com - Vampire
Staff member
But kitkat can be installed as secondary isn't?
I haven't tried but theoretically yes, it should work

sent from my Darkside of SHIELD Tablet

---------- Post added at 10:54 AM ---------- Previous post was at 10:50 AM ----------

could this work on nexus 6? also would i have to uninstall cwm and use twrp for this with shield tablet 32 lte us version?
to flash another recovery isn't required to uninstall the previous one, actually you can't even do it, just flash, it will replace the cwm or whatever you used before

sent from my Darkside of SHIELD Tablet
 
  • Like
Reactions: grv00711

grv00711

Senior Member
Mar 17, 2011
419
54
newport <rhode island>
I haven't tried but theoretically yes, it should work

sent from my Darkside of SHIELD Tablet

---------- Post added at 10:54 AM ---------- Previous post was at 10:50 AM ----------


to flash another recovery isn't required to uninstall the previous one, actually you can't even do it, just flash, it will replace the cwm or whatever you used before

sent from my Darkside of SHIELD Tablet

thank you
 

grv00711

Senior Member
Mar 17, 2011
419
54
newport <rhode island>
I haven't tried but theoretically yes, it should work

sent from my Darkside of SHIELD Tablet

---------- Post added at 10:54 AM ---------- Previous post was at 10:50 AM ----------


to flash another recovery isn't required to uninstall the previous one, actually you can't even do it, just flash, it will replace the cwm or whatever you used before

sent from my Darkside of SHIELD Tablet
what are the chances of being able to run windows 8.1 os on the shield tablet us 32 lte?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 42
    vh3puLb.png
    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-shieldtablet.zip) - download the ZIP file from second post and flash it in recovery.
    • Modified recovery (twrp-multirom-YYYYMMDD-UNOFFICIAL-shieldtablet.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 image and flash it through fastboot or Flashify.
    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, NTFS and FAT32 partitions are supported) and proceed with the installation.
    If you wanna use other than default FAT32 partition, just format it in PC. If you don't know how/don't know where to find out how, you probably should not try installing MultiROM.
    If you are installing to NTFS or FAT32 partition, recovery asks you to set image size for all the partitions - this cannot be easilly changed afterward, so choose carefully. FAT32 is limited to maximum of 4095MB per image - it is limitation of the filesystem, I can do nothing about that.
    Installation to USB drives takes a bit longer, because the flash drive is (usually) slower and it needs to create the images, so installation of Ubuntu to 4Gb image on my pretty fast USB drive takes about 20 minutes.
    Enumerating USB drive can take a while in MultiROM menu, so when you press the "USB" button in MultiROM, wait a while (max. 30-45s) until it searches the USB drive. It does it by itself, no need to press something, just wait.​



    Updating/changing ROMs

    1. Primary ROM (Internal)
    • Flash ROM's ZIP file as usual, do factory reset if needed (it won't erase secondary ROMs)
    • Go to Advanced -> MultiROM in recovery and do Inject curr. boot sector.
    2. Secondary Android ROMs
    If you want to change the ROM, delete it and add new one. To update ROM, follow these steps:
    • Go to Advanced -> MultiROM -> List ROMs and select the ROM you want to update.
    • Select "Flash ZIP" and flash ROM's ZIP file.



    Source code
    MultiROM - https://github.com/CM-Shield/multirom (branch flipped-screen)
    Modified TWRP - https://github.com/Tasssadar/Team-Win-Recovery-Project (branch master)
    Device Tree - https://github.com/CM-Shield/android_device_nvidia_shieldtablet (branch cm-12.0-unified-mrom)
    Kernel w/ kexec-hardboot patch - https://github.com/CM-Shield/android_kernel_nvidia_shieldtablet (branch cm-12.0-mrom)
    14
    TWRP-MROM v3.1.0-2 / MultiROM v33 (2017.04.15) - UNOFFICIAL

    Available for testing.

    Downloads:

    Don't forget, first time:

    if you need it:
    13
    Well, it's about time. I finally got it to work. But fair warning, what I have now is about three levels of hacks. I'm making a release now so people that have to have this can use it, but I'm not marking it officially released and updating the OP until I do a lot of cleanup. I've only tested this with a cm-13.0 secondary, but in theory everything should work.

    twrp-multirom-20160410-UNOFFICIAL-shieldtablet_m.img
    kexec_patch_stock_40.zip (should be usable in custom ROMs as well, but will be missing a couple security patches)
    multirom-20160410-v33-UNOFFICIAL-shieldtablet.zip

    Since I had to modify the multirom zip anyways, I went ahead and folded in the touch support, so only the one zip is needed. That will probably split back out to separate zips later.

    Now for those that care about the technical details of what drove me mad for months. First, many many many thanks to @Bogdacutu for noticing the ultimate problem. The new bootloader modifies the DTB before it hands it off to the kernel. Running dtdiff against the DTB partition and /proc/device-tree showed a few differences. So for this release, I folded those changes into a new dtb file, packaged it with multirom and hardcoded kexec-tools to use that file. Yes, really ugly. I'm hoping to find a cleaner way to handle it, ideally modifying the in-ram copy of the dt that kexec-tools is using.

    Another side note: This is no longer using Tassadars kexec-tools branch. In the development of multirom for arm64, the angler dev got a mostly upstream kexec-tools working. I took that further and got it working for arm as well with minimal changes.

    Edit: Looks like I either typoed or missed something. The charging circuit isn't initializing correctly, so you can't charge or see battery status while on secondaries. I'll look into that once I'm awake again.
    12
    Downloads

    1. Main downloads

    MultiROM: multirom-20150909-v32a-UNOFFICIAL-shieldtablet.zip
    MultiROM Touch Support (only needed if not upgrading): multirom_shieldtablet_touch_support.zip
    Modified recovery (based on TWRP 2.8.7.0): twrp-multirom-20150909-UNOFFICIAL-shieldtablet.img

    Kernel kexec-hardboot patch (Stock 5.1.1 all variants): kexec_patch_stock_311.zip
    Kernel kexec-hardboot patch (Stock 5.1.1 all variants): kexec_patch_stock_31.zip

    Kernel w/ kexec-hardboot patch (Stock 5.1.0 wx_na_wf): kexec_boot_stock_na_wf_30.img
    Kernel w/ kexec-hardboot patch (Stock 5.1.0 wx_na_do): kexec_boot_stock_na_do_30.img
    Kernel w/ kexec-hardboot patch (Stock 5.1.0 wx_un_do): kexec_boot_stock_un_do_30.img

    Kernel w/ kexec-hardboot patch (Stock 5.0.1 wx_na_wf): kexec_boot_stock_na_wf.img
    Kernel w/ kexec-hardboot patch (Stock 5.0.1 wx_na_do): kexec_boot_stock_na_do.img
    Kernel w/ kexec-hardboot patch (Stock 5.0.1 wx_un_do): kexec_boot_stock_un_do.img

    MultiROM Manager: MultiROMMgr.apk



    2. third-party kernels with kexec-hardboot patch
    BitO-K - http://forum.xda-developers.com/shield-tablet/development/tweaked-kernel-nvidia-shield-tablet-t3069776

    Nicely ask your kernel developer to merge kexec-hardboot patch (patch for shieldtablet).​

    3. Other downloads

    Ubuntu (kernel and packaging by Bogdacutu):


    4. Old downloads by Bogdacutu

    11
    Will release updates for both MultiROM and TWRP later this week.

    - fixed issue with many ROMs not working
    - will have 3 versions of TWRP, one for each variant of the tablet
    - improved touch response and fixed dpi in MultiROM
    - fixed internal ROM sometimes not booting
    - very large improvements in secondary ROM booting and rebooting speeds, down from sometimes 30-60 seconds to always less than 5 seconds
    - updated MultiROM to v31, TWRP to v2.8.5.0