[Verizon Samsung Galaxy S III] Nicene Nerd:
Q&A Stuff

Can I use MaulBoot with SafeStrap?

No. SafeStrap is for devices with locked bootloaders. You cannot use MaulBoot unless your bootloader is unlocked! If you are one of the few who uses SafeStrap on an unlocked bootloader, I advise against using MaulBoot because anything could happen. They are not meant for each other they way Amy Pond and Rory Williams are.

Can I use a custom kernel on my external ROM?

Absolutely. In most cases, you merely need to patch the updater-script. Check the instructions in the previous post on patching ROMs and Google Apps packages, and follow whichever one looks most like your kernel's updater-script.

BMS has a dummy updater-script! How do I use it with my external ROM?

You can find the answer to that here.

Will MaulBoot ever have [insert feature here]?

Maybe, maybe not. If I am working on new features, I will mention it in this thread. If I do not mention a feature, that is probably because it is either impossible, painfully impractical, beyond my skill, or I haven't been struck with the lightning of inspiration yet.

I love you! Will you father my child?

No, I'm happily married and intend to stay that way.

Fine. Will you godfather my child?

While I'm not morally opposed to that one as I am your first request, I'd rather leave that honor to someone you know in person.

Will MaulBoot work on any other devices?

Right now, MaulBoot is only compatible with the S III (and probably just the Verizon S III). However, the basic concept is probably compatible with many devices. I do intend to expand support in the future, though only to Samsung devices. If you want your device supported, send me info on your devices's partition layout. Specifically, I need to know the locations of the boot, system, data, and cache partitions, along with a note if any other partitions directly affect ROM flashing.

Partitioning the SD Card

To use MaulBoot, you will have one ROM on internal storage (primary ROM), and one on a microSD card (secondary ROM). The card will still be used for normal storage, so a card size of 16GB or more is recommended.

To partition your SD card, a Linux user has a number of options. However, if you use Windows, you need a partitioning program that supports the EXT4 filesystem, which we will use for the external ROM partitions. I used MiniTool Partition Wizard Home Edition (found here). You will need a total of four partitions.

The first partition must be your FAT32 storage partition. This can be as big as you have space to be after the other three partitions are accounted for.

The second partition will be for your external /system. It should be approximately 1.5GB, formatted as EXT4.

The third partition, the /cache partition, should be about 800MB, though you may be able to get away with less, also EXT4.

The final partition, for /data, should be at least2GB, but can be as big as you need it to be, and must also be EXT4.

As of yet, your internal storage folder (/sdcard) on your internal ROM cannot be shared with that of your external ROM, so make /data big enough for your internal storage needs.

​

When you are finished, you should have four partitions, which you can verify on your device by running, either through ADB or in a terminal emulator, the command ls /dev/block/. The partitions will show up as mmcblk1p1 (normal SD storage), mmcblk1p2 (system), mmcblk1p3 (cache), and mmcblk1p4 (data).

Patching ROMs for External Use

To use a ROM as an external (secondary) ROM, you must patch it first to install to and run from the external ROM partitions. Fortunately for Windows users, I have created a script (with help from osm0sis's Android Image Kitchen) that can patch ROMs for you for external use. So far the script has been tested with only Jelly Bean and KitKat ROMs. While an ICS ROM might work, I cannot guarantee it. Also, ROMs which use AROMA are not compatible.

​

The MaulBoot ROM Patcher script can be found attached to this post, or here: https://dl.dropboxusercontent.com/u/22606043/MaulBoot ROM Patcher.zip

To use, follow these directions:

Download and extract MaulBoot ROM Patcher.zip to the location of your choice.

Open a command window in the MaulBoot ROM Patcher directory containing the file "MaulBootPatcher.bat"

To patch your ROM, type the command:

MaulBootPatcher rom-package-here.zip

Read and follow all instructions and wait for the script to complete.

Your patched ROM will appear as external-rom-name.zip

This zip can be flashed in recovery. It will automatically install to the external partitions.

If you are on Linux, or if you need to patch a ROM manually, read instructions in the second post. The basic idea is to update the ramdisk to mount external partitions instead of internal ones, and to make the updater-script also point to external partitions.

Other Stuff to Know

The ROM patcher script will not work on Google Apps packages. To use Google Apps with an external ROM, you must either patch the updater-script yourself or use the following Gapps package, meant for external KitKat ROMs: https://www.dropbox.com/s/k9t7v1yi6ne79sh/external-gapps-micro-kk.zip

I have attached a collection of zip files which can be flashed in recovery to wipe external partitions. There are zips for wiping everything, factory resetting, wiping Dalvik cache, and wiping cache + Dalvik cache.

If you have any questions, don't hesitate to ask!

Donations are accepted, but never obligatory.