[Android Software/Hacking General [Developers Only]] yshalsager:
Hi all DualBootPatcher fans, in this thread i'll try to explain all things about DualBootPatcher, so if your user :cowboy: please read this post carefully then continue to other posts, and if you developer you can skip it and go to post #2 directly :cool:

Part 0: Introduction & How to use DualBootPatcher?

What is DualBootPatcher?

What does the app do ?:

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

Where can i find it?

Website

XDA Main Thread

Github

What's supported ?

How to use the App?

- Download, install and open the app.

- Swipe to the right to open the menu. Click "ROMS". Now if this is the first time you use it, it will ask you if you want to set kernel. Do so!

- After it has finished go to ROM Settings (primary ROM 3 dot menu) and select Update Ramdisk. It will update it and will ask you to reboot. Press Reboot Now, or Reboot later.

- Now Download any ROM you like and open the app again and open the menu and open Patch Zip File from the menu. Ensure that your Device is set to (yourdevicename) and under Partition configuration select secondary/dataslot (will install 2nd ROM in /system) or data slot.

- Click continue and select where to save the patched file.

- You should see the file is being put in "Queue". Just click the confirm button to the upper right.

Note:

If you want to go back, just swipe the ROM in queue to right and start over.

- The app will patch the zip. When done, go back to "ROMs".

- Click "Flash zip files" (the big pink button on the lower right). Click the pink plus button to add your previously patched zip file.

- Locate the file you have patched in step 7. Unless you have changed the name there, it should be something like ROM_name_partition_config_ID.zip (like RR-N-v5.8.3-20170707-cheeseburger-Unofficial_dual.zip).

- Click on that file and choose "Keep location". Now confirm the flash with the button on the upper right side.

Note:

You can also install the patched zip files in recovery.

- It will now open the terminal and begin flashing the file. This requires some patience. After it has flashed the file you'll see success message in green.

- Now click back and you should see your newly installed ROM along with the Primary ROM.

Note:

You can find more options by clicking on the three buttons on each ROM.

- Now reboot and wait till finishing 2nd ROM first boot. install DualBootPatcher apk so you can easily switch ROMs, there is another way to change ROMs: flash DualBootUtilities.zip and switch ROM manually.

Note:

Using Bootui:

- Open app then select settings and press install (update) bootui. then Swipe to the right to open the menu. Click "ROMS" again and open secondary ROM Settings) and select Update Ramdisk, Now you can change ROMs simply using boot ui (something like grub bootloader but it works like twrp)

Partitions Configurations:

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.

Apps and Data sharing:

To use app sharing, follow these steps in every ROM that you want to use app sharing: (doesn't work with JB ROMs)

Install the app you want to share

Open DualBootPatcher and go to "App Sharing" in the navigation drawer

Enable individual app sharing

Tap "Manage shared applications" and enable APK/data sharing for the app

Reboot

How to Tips:

How to boot to another ROM ?

This is simple ... There is no reboot to primary, secondary or whatever. So all you have to do is:

1) Go to ROMs section of the App.

2) Click on the ROM you want to boot to. You should see "Switching ROM" message. After few seconds, you should see a report message saying that "ROM successfully switched".

3) Now just do a normal reboot of your device. See the magic! It should boot to the ROM you have switched on step 2.

Note: You can find more options by selecting the three buttons on each ROMs (like creating reboot widgets for directly rebooting to specific rom).

You also need to install the App to all of the ROMs you install. Otherwise, you want be able to boot to other ROMs!

Other How to ?

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

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 :)

Now, You're perfect DualBootPatcher user,so let's enter the main guide !

Guide Index:

Part 1: How to build DualBootPatcher from source manually?

Part 2: How to build DualBootPatcher using docker images?

Part 3: How to build DualBootPatcher using TravisCI?

Part 4: How to add new Devices to DualBootPatcher?

Part 5: How to submit new Devices to official DualBootPatcher support?

Extra: How to share apps (apk) between ROMs? (soon!)

Before we start you should know that DBP is not just android app, there is versions for windows and linux also :cool: and in this guide i'll talk about app and linux version only, i don't use windows :p