[Samsung Galaxy S9+ Themes, Apps, and Mods] Simon1511:
I'm proud to present the first dual boot project for the Samsung Galaxy S9+ Snapdragon version. This project started off as a feature in my ROM, but not anymore. This will allow any number of ROMs to be installed at the same time. It works by patching the secondary ROM's installation scripts and boot image to load the ROM files from an alternate location (/system/multiboot, /cache/multiboot, and /data/multiboot). Because of the way this is implemented, no changes to the primary ROM are necessary.

NOTE

Treble-based ROMs are NOT supported(yet)! In-app ROM changing may not work on stock ROM (maybe it works, maybe not) so you have to use utilities.zip or flash the boot.img of every ROM! I do not own a S9+ so I rely on you guys!

Donators

A huge thanks goes out to all of the donators for supporting this project! I if forgot to add you (and you want to be added), please send me a quick PM.

See all of our supporters here

It patches...

Custom kernels for dual boot support

ROMs so that they can be installed as secondary

Google Apps packages for AOSP-based ROMs

SuperSU so that it can be used in the secondary ROM

NOTE: If you want to dualboot a TouchWiz ROM, I highly recommend installing TW as the primary ROM. Otherwise, any mods will need to be patched before flashing.

How to use the patcher

Android

Download the patcher apk and run it. Tap "Patch Zip File" from the navigation drawer and choose the file you want to patch.

After patching the zip file, a new file, like some_rom_dual.zip file will be created. For example, patching ktoonsez's

KT-SGS4-JB4.3-AOSP-TMO-08.28.2013.zip

would create a new

KT-SGS4-JB4.3-AOSP-TMO-08.28.2013_dual.zip

Instructions for dual booting

Before doing anything, download the Dual Boot Patcher app and the DualBootUtilities.zip from the download section below.

The patcher offers several locations for installing ROMs:

Primary: This is normally used for installing a zip to the primary ROM. It is not required, but is strongly recommended because it has code to prevent the zip from inadvertently affecting other ROMs.

Dual: Dual/Secondary is the first multiboot installation location. It installs to the system partition. This is a good spot for installing a second ROM because it doesn't take any space away from the internal storage.

Multi-slots: There are 3 multislots: multi-slot-1, multi-slot-2, multi-slot-3. These install to the cache partition. This is specifically for devices, like the Galaxy S4, that have a massive cache partition.

Data-slots: There can be an unlimited number of data slots. These install to the data partition and eat up space on the internal storage. This is useful for devices where the system partition is nearly full and the cache partition is tiny. These slots are named "data-slot-[id]", where "id" is something you provide in the app.

Extsd-slots: There can be an unlimited number of extsd slots. These install to the external SD card, which is useful as it keeps the ROMs off of the internal storage. Note that the ROM's data files are still stored on the data partition.

With that said, let's get to the "how to"!

First, boot into your primary ROM and install the Dual Boot Patcher app

Open the app and go to "Roms" in the navigation drawer. It will ask if you want to set the kernel. Make sure that you do.

Go to "Patch zip file" in the navigation drawer and patch the ROM or zip you want to install. You can select one of the installation locations described above.

Well, Just flash the patched zip file via recovery (Custom Recovery, like TWRP of course)

A normal backup from recovery will backup every ROM. If you would like to back up ROMs individually, please see [MENTION=3145598]rlorange[/MENTION]'s awesome tool: http://xdaforums.com/showthread.php?t=2491299

How do I...?

Switch the ROM if something doesn't work properly?

You can flash the DualBootUtilities zip from recovery. It will provide a menu interface that allows switching to the various ROMs.

If you have TWRP, you can also switch manually by tapping Install -> Images (bottom right) -> Go to /sdcard/MultiBoot/[Your ROM]/ -> flash boot.img.

Wipe /cache, /data, /system, or dalvik-cache?

The easiest way is to do it from the app while booted in another ROM. Just go to "Roms" in the navigation drawer, tap the 3 dots options menu for the ROM you want to wipe, and tap "Wipe ROM".

Alternatively, flash the DualBootUtilities zip from recovery, which will also allow you to wipe a ROM.

NOTE: Don't use the recovery's built-in wiping abilities as that may delete non-primary ROMs!

Update the primary ROM?

Patch the zip for primary and flash it. The "primary" installation target is designed so that other ROMs won't be affected when you want to flash something for the primary ROM.

Update a non-primary ROM?

Patch and flash the zip exactly like how you did it the first time.

Flash a mod or custom kernel for the primary ROM?

Patch it for primary before flashing. If the zip does not wipe /cache, it is also safe to flash it directly.

Flash a mod or custom kernel for a non-primary ROM?

Just patch and flash it

Downloads

Patcher: Download

Utilities: Download

XDADevDB Information

DualBoot Patcher APP, Device Specific App for the Samsung Galaxy S9+ Snapdragon/Exynos

Contributors

simon151102

Source Code: https://github.com/chenxiaolong/DualBootPatcher

Version Information

Status: Beta