[Transformer TF300T Android Development] f69m:
MultiROM lets you install multiple ROMs into subfolders, just by flashing them using a modified TWRP.

This is an unofficial port of MultiROM originally developed for the Nexus series to our beloved TF300T.

Big thanks [MENTION=3418703]Tasssadar[/MENTION] for the original work!

THIS IS AN EARLY VERSION OF THIS PORT, NOT ALL FEATURES ARE FULLY TESTED.

But please test and give feedback, so I can eventually remove above line.

Features

Run a primary Android ROM from the normal partitions.

Run multiple secondary ROMs from subfolders on an SD card or on an external USB stick/drive.

Easily add/update your primary and secondary ROMs using a modified version of TWRP.

Install Ubuntu and Ubuntu Touch as secondary ROMs Not supported yet.

And more...

Changes vs. official MultiROM

This section is mostly useful for people using MultiROM on another device. New users can safely ignore it.

My first test - installing a plain CM 11, installing MultiROM, and then installing OmniROM with its own kernel - failed gloriously. The reason was that the official MultiROM re-uses the kernel of the currently installed Android system and that kernel does not include the kexec hardboot patch required for MultiROM to work properly.

The beauty of MultiROM is that - once installed with a proper kernel - it allows an average user that has never heard about kexec and never installed a custom kernel to run multi-boot at the touch of a finger. So I decided that my first simple use case must be supported.

The obvious solution was to ship a working kernel with MultiROM, save the currenly installed kernel for the primary ROM and boot that via kexec. The idea is to sacrifice another 10 secs on booting the primary ROM for making MultiROM much easier to install and to use. However, this decision led to several changes in the TWRP user interface:

The "share kernel with primary ROM" option was removed. Each ROM has its own boot image and is always booted via kexec.

The "Inject current boot sector" on the MultiROM screen button was replaced with a "Reinstall" button. Use this, if you have overwritten the boot sector, for example via fastboot. Mind, reinstalling MultiROM will save the current boot partition and use it for booting straight into the primary ROM, so better make sure this works, before running reinstall, or you won't be able to boot into your primary ROM after reinstallation.

The "Add/Remove boot.img" button on the ROM management screen has been replaced with "Replace boot.img" and can be used to easily install a custom kernel for that ROM.

Looking forward to your feedback on this major change!

Downloads

Downloads are available from the "Downloads" tab at the top of the page.

MultiROM installer including the modified TWRP:

multirom-vXX-YYYYMMDD-UNOFFICIAL-tf300t.zip

TWRP for MultiROM (not needed, if you use the installer):

twrp-multirom-vXX-YYYYMMDD-UNOFFICIAL-tf300t.blob

Installing and Upgrading MultiROM

Please read the following instructions carefully, and make sure you understand each step and what it will do to your tablet. The steps are working for me, but you are ultimately responsible, for what you are doing with your own tablet. I will not be responsible, if you brick your tablet, or if your wife gets angry at you for being too preoccupied with your tablet.

Make a backup!

MultiROM will modify your system, and if anything goes wrong, this backup will be more than helpful.

Check the version of your bootloader.

On the bootloader screen, check the version shown on the top left. MultiROM was ported and tested on version 10.6.1.27.5. If your bootloader version is 10.6.1.27.1 or 10.6.1.15.3 you should have no issues. Version 10.6.1.8 might work, but is likely to cause issues; upgrading is highly suggested. For any other version, make sure you first upgrade your bootloader, or you risk ending up with a brick,

Flash the lastest multirom-vXX-YYYYYYYY-UNOFFICIAL-tf300t.zip

Reboot right away!

Make sure you see the blue progressbar on the first boot screen and you see another automatic reboot.

Then the MultiROM boot screen should show up.

Now you should be able to boot your primary ROM via MultiROM. For next steps, check out "Installing ROMs" in the next post.

Uninstall MultiROM

The uninstaller for the official MultiROM has not been ported yet, but you can get rid of MultiROM following these steps:

Flash your favourite (not MultiROM) recovery.

Restore your boot partition from a backup or re-flash your ROM.

Remove the "multirom" folder on the sdcard.

The latter is optional. You may keep it around for trying MultiROM again later.

Changes

2014-03-16:

Fixed MultiROM reinstallation from TWRP.

Some fixes for swapping primary/secondary ROMs.

Some fixes for primary ROM initrd.

Added support for Ubuntu Touch (needs upcoming manager app).

2014-03-02:

Support secondary ROMs on SD card (not fully tested).

Use packaged initrd instead of the primary ROM's.

Some bug fixes.

2014-02-13:

Allows flashing 4.2-based ROMs without removing the assert line in the updater-script.

Several bug fixes for more stability.

Note that changes may be documented, before the downloads are available. Please check back a little later in that case.

Future Work

In no particular order:

Provide uninstaller.

Add the missing features listed above.

Fix TWRP for encrypted filesystems.

Allow replacing the kernel for any ROM, keeping the ramdisk.

Remove unnecessary drivers (net, sound, camera) from the kernel (currently breaks building the kernel).

XDA:DevDB Information

MultiROM for TF300T, a Tool/Utility for the Asus Transformer TF300T

Contributors

f69m

Version Information

Status: Alpha

Created 2014-02-11

Last Updated 2014-03-16