[One (M9) Original Android Development] nkk71:
FAQ and other notes

HTC One M9 - Peculiarities / Bugs

There are no kexec-hardboot kernels for the M9, so you need to enable the no-kexec-workaround. Please refer to post 4 for details.

Deprecated info (used to be a problem in v1 of the workaround)

Potential problems resulting in lingering primary_boot.img:

* Reboot from secondary to recovery, flash new primary ROM/kernel (this may be fixable in inject.c, but my first attempt had unexpected results)

* Reboot from secondary, then fastboot flash boot boot.img

* While in secondary, use an app (MultiROM, Flashify, etc), which dd's the boot.img

* Others??

In short, do NOT try to mess/flash/etc your

primary

kernel if the last ROM you had booted was a secondary. ... this will result in a "lingering" primary_boot.img

.

A few notes about enabled adb in MultiROM boot menu

: having adb enabled in MultiROM boot menu (TWRP->MultiROM->Settings->Enable ADB) may interfere with the ROMs "connection" (MTP, etc), possibly even prevent the ROM from booting (rarely, but I've seen it happen). Since this option is usually only used for debugging, I recommend to keep this option disabled.

.

Something not working, or you need help debugging

Please provide the following information:

a detailed explanation of the problem

.

the recovery.log (found in /tmp/recovery.log or by copying it to the sdcard and then copying it to PC)

.

the link to the thread

and

name of file (+ which version) you are having problems with

.

due to the large size of some of these ROMs, I may not have time to download and test them, so please also upload the updater-script (found in ROM.ZIP under /META-INF/com/google/android/)

Device encryption

Since v32, MultiROM supports encryption on this device (it has to be added for each device separately). It works only with Android-based secondary ROMs and the secondary ROMs don't know the device is encrypted, so they would allow you to encrypt the device again - do not do that. If you're using password, pin or pattern for the encryption, MultiROM will ask you for the password on boot. If you're booting the primary ROM, then Android will ask you for the password _again_ - unfortunately, there is no way for me to pass the "unencrypted" status to Android. If you're booting secondary ROM, MultiROM will ask you for the password again after the reboot - that's because I have to unencrypt the /data partition after the ROM's kernel is loaded.

I could omit the second password prompt when booting secondary ROM by temporarily saving the password somewhere, but that's obviously unsafe. So is using encryption with unlocked device though, so I might add this later.​

About security

In order to make multi-booting possible, MultiROM has to sacrifice some security measures. Firstly, on secondary Android ROMs, /system is not mounted read-only. While there are other things preventing malicious software from messing with /system, this might potentialy make it easier for such software to attack that system.​

What do the ROMs share?

All ROMs are separate, except /sdcard, which is shared between all Android ROMs.​

How many ROMs can I have?/Where are the ROMs stored?

You can have as many ROMs as you can fit in your /sdcard. All the ROMs are stored in /sdcard/multirom/roms or on an USB drive. This folder is unaccessible in Android, to prevent mediascanner from scanning it. You can either in recovery, or obtain root and go to /data/media/0/multirom/roms.
​

The menu with all the ROMs won't show up during boot, how to fix it?

Either re-flash the MultiROM zip or go to recovery, Advanced -> MultiROM -> Inject curr. boot sector.

The reason for this is that something rewrote your boot.img, which happens for example when you flash a kernel. MultiROM's boot menu is part of the boot image, so it has to be added into it again.
​