[One (M8) Android Development] boringalex:
What is it?

First of all, this is a port of Tassadar's MultiROM solution for multibooting several ROMs. If you are unfamiliar with it, you can find the author's thread for other devices. You can also find documentation on his github page.

Do not flash anything if you don't know how to reflash factory images to restore your device.

In case anyone is having trouble with the MR app updating, download this modified apk:

MultiROM Mgr APK

The solution consists of 3 parts:

MultiROM - recovery installable zip.

Modified TWRP recovery.

Modified kernel - only the host (base) kernel needs to be patched with kexec-hardboot.

Flashing instructions:

It is probably easiest to do these steps from the MultiROM Manager application from Play Store.

In case anyone is having trouble with the MR app updating, download this modified apk:

MultiROM Mgr APK

I (fizbanrapper) don't get a dime from this and never will, but I'm asking you to please consider also adding the donation package. It's only a couple of bucks. It doesn't "do" anything, except support one of the best products to ever come to android. How much did you pay for your phone?

Flash modified recovery image.

****

Flash boot image either from fastboot or recovery. **** SEE KERNEL NOTE 3 LINES DOWN!!!

Flash multirom zip in recovery.

Press Advanced->Multirom and add your secondary roms.

KERNEL NOTE: Your best bet is to find a ROM with a built-in kernel that's already got the kexec-hardboot patch, and use that as your primary ROM. About half the ROMs on these forums already have it. If you're unsure, go to the thread for your ROM of choice and search "kexec". I'd be shocked if you'll find a ROM thread on the forum that gets to be 5 pages, without the question having already been answered for you. In fact, a lot of ROM threads have "kexec" in the title.

A few people have had issues with Sense or GPE ROMs being used as primary even with kexec-hardboot patch, but I think those are the exception.

If you flash a kernel after installing MultiROM you will need to go to Advanced->MultiROM->Inject curr. boot sector so everything is installed properly.

Please disable screen timeout in TWRP before installing roms that take a lot of time to install (such as those with aroma). There is a bug somewhere in TWRP and the screen locks permanently after the secondary rom is installed. (Not sure if this is still the case. Can someone confirm?)

For further instructions on how to use the modified recovery and MultiROM please read the creator's instructions.

Downloads:

Download the MultiROM Manager APP!!!

In case anyone is having trouble with the MR app updating, download this modified apk:

MultiROM Mgr APK

Kernels with kexec-hardboot patch (very old list - will update):

International:

Stock GPE insecure (4.4.4): boot_m8_gpe_insecure.img

Stock GPE (4.4.4): boot_m8_gpe.img

Stock Sense insecure (4.4.3): boot_m8_sense_insecure.img not tested properly!

flar2's kernel for both GPE and Sense: ElementalX this has been properly tested for Sense hosts

AOSP:

CM Kernel (9/24/2014)

LiquidSmooth

Verizon:

NuSenseSIX: santod040's thread

Elite Lunar: buckmarble's thread

Checkm8 AOSP

You can flash boot images just like you are flashing recovery images (you should know that).

Uninstaller: multirom_uninstaller.zip

Known issues:

GPE converted devices and Sense guests.

If your fully GPE converted (GPE firmware), Sense guests will take a little longer to boot and you won't see any progress on screen (it will only show "Google"). After the phone fully boots and the device locks (you won't see that) the screen will turn black (no more "Google" text) and you can use it normally (eg. unlock it). But there are no problems otherwise. This is because Sense roms are picky. If you don't want to have this issue, flash the latest Sense firmware on top of GPE (you can get it from the ARHD developer, link here). If you're not used to flashing different firmware, do not do it, you may brick your device if you're not careful. Just wait a little longer until your Sense rom boots.

Updates:

All downloads (in this thread and in MultiROM Manager) now support installing to external sdcard.

Something's broken or seem not quite right?

Here's a quick and (very) dirty list of things that I've encountered that have fixed various different issues.

I've never had to RUU to fix my phone. (Some suggest it's a good idea to do every now and then anyway, for various reasons.)

Flash your primary, but with a ROM that has a known good kexec-hardboot patch.

Run inject boot sector, on primary ROM.

Reflash the multirom zip from within recovery.

Flashing the partition fixer zip can help fix some issues.

Other tips:

Don't add GPE ROMs to external sd. You might not have issues with this, but I do. Sense and AOSP ROMs are fine. Moving GPE ROMs to external seems to work just fine though.

Sense roms are huge and take forever to boot from external SD. I try to keep my external on aosp as much as I can.

If you're having the problem where you select a ROM from the multirom menu and it just reboots into recovery , do the following. Select the ROM from within recovery and hit the "restorecon" button. This resets some permissions and security contexts.

External ROMs haphazardly disappear from the multirom menu? This happens to me every time I'm reboot from a ROM on my external. Quickest way to get them back is to simply reboot again, by hitting the reboot button on the last tab in multirom

Source code:

Our github page

Unstable (non-minor bugs) experimental downloads:

5-21-2015 - updated v32 MultiROM supports encrypted AOSP/GPE partitions

issue with touchscreen (the "t" key won't work on my keyboard) - waiting on an update to kexec-tools by @Tasssadar to fix that

4-21-2015 - first working v32 MultiROM

issue with touchscreen (the "t" key won't work on my keyboard) - waiting on an update to kexec-tools by @Tasssadar to fix that.

4-20-2015 - first attempted v32 MultiROM

Doesn't boot

XDA:DevDB Information

MultiROM, Tool/Utility for the HTC One (M8)

Contributors

boringalex, fizbanrapper, MassStash, Captain_Throwback

Source Code: https://github.com/multirom-htc

Version Information

Status: Stable

Current Stable Version: v33

Stable Release Date: 2016-03-25

Created 2014-09-22

Last Updated 2016-03-25