[Galaxy A3, A5, A7, A8, A9 Android Development] DeadSquirrel01:
​

Introduction

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

* 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) Flash Modified TWRP with odin or extract the tar file and install the img file with flashify or another recovery that has img install feature

2) Flash MultiROM zip in TWRP

3) enjoy :)

MultiROM has 3 parts you need to install:

Modified recovery Download the Modified TWRP for MultiROM

Patched kernel *OPTIONAL* : Not Needed

MultiROM download the ZIP file from second post and flash it in recovery.

Downloads:

Modified TWRP for MultiROM: https://www.androidfilehost.com/?w=files&flid=110082 Since the recovery image was too big for recovery partition, I used LZMA compression instead of LZO for the kernel, which saved about 3 MB

MultiROM: https://www.androidfilehost.com/?w=files&flid=110089

MultiROM Uninstaller: https://www.androidfilehost.com/?w=files&flid=110117

If you get force closes on secondary nougat ROMs:

Flash the rom, open /sdcard/multirom/roms/rom_name/system/build.prop on primary, or on TWRP with "vi" editor

and change:

ro.sys.sdcardfs=true

to

#ro.sys.sdcardfs=true

Then reboot.

DO NOT reboot the rom before changing build.prop line otherwise you will still get force closes!

You current rom will not be erased by the installation.​

Important: Since the Kernel hasn't Kexec Hardboot patch, you have to check "use no kexec workaround" box in multirom settings

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 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.

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 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.​

How does Kexec workaround works

You need to a kexec-hardboot supporting kernel or the non-kexec workaround as described perfectly by [MENTION=2605798]nkk71[/MENTION] here: http://xdaforums.com/show...26&postcount=4 (Be sure to leave him a thanks!)

Source code

MultiROM - https://github.com/nkk71/multirom

Modified TWRP - https://github.com/nkk71/android_bootable_recovery

Device Tree: https://github.com/DeadSquirrel01/android_device_samsung_a5ultexx branch cm-13.0-mrom

Kernel w/ kexec-hardboot patch: NOT NEEDED
​

Credits

A big thanks for:

[MENTION=2605798]nkk71[/MENTION] For kexec workaround and for helped me in IRC

[MENTION=3418703]Tasssadar[/MENTION] For MultiRom Source Code

That made this possible

Donations (Please donate to the Creator [MENTION=3418703]Tasssadar[/MENTION] )

​

XDA:DevDB Information

MultiROM for Galaxy A5 (SM-A500), Tool/Utility for the Samsung Galaxy A Series

Contributors

DeadSquirrel01

Version Information

Status: Beta

Current Beta Version: 1.0

Beta Release Date: 2016-09-10

Created 2016-09-10

Last Updated 2016-09-10