[HTC 10 ROMs, Kernels, Recoveries, & Other Developm] nkk71:
FAQ and other notes

HTC 10 - Peculiarities / Bugs

There are no kexec-hardboot kernels for the HTC 10, so you need to have the no-kexec-workaround enabled. Please refer to post 4 for details.

.

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.

.

Secure boot (ie require Password/Pattern/PIN on boot): Thanks to Captain_Throwback who found out, that under certain circumstances (yet to be determined), your primary (possibly secondary as well) may loose the ability unlock your LockScreen using your Password/Pattern/PIN.

The same thing has been observed in TWRP restores, and although your password is correct and does decrypt your device, it breaks at the lockscreen for some reason.

I recommend you disable Password/Pattern/PIN on boot until / IF the issue is resolved, but in case you do find yourself in that situation, please go ahead and follow the instruction posted in the TWRP thread:

10. After I restored my Data backup and boot back to Android, I'm entering the correct PIN/password, but it's telling me the password is wrong. What happened, and how do I fix it?

It appears that sometimes after restoring a backup of Data where security was enabled (such as a PIN or password lock), the device does not recognize the correct password. There are two ways to avoid this issue:

Disable security in Android before making a backup of data.

After restoring Data, while still in TWRP, use the TWRP File Manager to navigate to /data/system and delete all the locksettings.* files (such as locksettings.db, etc). When you reboot, the password will be gone.

​

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 logs from /sdcard/multirom-klogs (zip those up, before uploading). that option needs to be enabled in TWRP->MultiROM->Settings

.

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

Supported File Systems for secondary ROMs

Currently only the following partitions can boot secondary ROMs:

Internal Storage

.

An external sdcard, properly partitioned with an ext4 partition (see below)

Partitioning your External SD Card

Warning

: You will

loose all information

on your external sdcard!!

There is

no way of retrieving that information

, so copy everything to your PC before proceeding!!

In order to make a decent assessment of the size of your ext4 partition, below is a small table of some of the ROMs I've installed to my ext4 partition:

[U][B]2.5G BeanStalk-6.20-20160905-pm[/B][/U]
1.1G BeanStalk-6.20-20160905-pm/data
1.3G BeanStalk-6.20-20160905-pm/system

[U][B]1.4G cm-13.0-20160915-UNOFFICIA[/B][/U]
396M cm-13.0-20160915-UNOFFICIA/data
960M cm-13.0-20160915-UNOFFICIA/system

[U][B]3.8G ice-2.1.1_PERFUME_UHL_M60_[/B][/U]
1.7G ice-2.1.1_PERFUME_UHL_M60_/data
2.0G ice-2.1.1_PERFUME_UHL_M60_/system

[B][U]4.0G Viper10_3.1.0[/U][/B]
1.8G Viper10_3.1.0/data
2.1G Viper10_3.1.0/system

Please bear in mind, those installs have none or very few extra downloaded apps, which would also be using the data partition; if you need a reference for comparison, you can select Backup in TWRP, which will show you the size of your current /data partition (this excludes "Internal Storage")... mine is about 8GB !

FYI: I'm using a 200GB sdcard, and have it setup with a 30GB ext4 partition... but that's just me :)

Step 1: Partitioning

TWRP Main Menu

-> Advanced

-> Partition SD Card

-> selected Micro SDCard

Set the EXT Size to the size of your choice

Set Swap Size to zero

Set File System to ext4

-> swipe to proceed with repartitioning

go back to the main menu.

Example Screenshots:

TWRP Main Screen

Select

Advanced

Select

Partition SD Card

,

Micro SDCard is selected

, press OK

Set the EXT Size to the size of your choice

Set Swap Size to zero

Set File System to ext4

then swipe to begin

Partitioning complete

Step 2 (optional, but recommended): Changing the first partition to exFAT

The repartitioning in step 1, has formatted your card with two partitions, the first one (used by ROMs as external storage) being FAT32 formatted. Since FAT32 has certain limitations, in particular the 4GB file size limit, it's recommended to reformat it as exFAT.

TWRP

-> Wipe

-> Advanced Wipe

-> select external_sd or Micro SDCard (whichever is shown in the menu)

-> Repair or Change File System

-> Change File System

-> select exFAT

-> swipe to reformat the first partition to exFAT

Example Screenshots:

Wipe Menu, select Advanced Wipe

Advanced Wipe Menu:

select external_sd or Micro SDCard (whichever is shown in the menu)

and click Repair or Change File System

Select

Change File System

Select exFAT

Swipe to reformat to exFAT

Formatting complete

​

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

My secondary ROM(s) no longer boot up, after I flashed a new primary ROM / Kernel / boot.img, and the MultiROM menu (as mentioned above) no longer appears

Please issue a restorecon on the particular ROM:

TWRP -> MultiROM -> select ROM in question -> Run Restorecon

Technical explanation

Usually most init.rc scripts will run a restorecon_recursive on /data and /mnt(also cache, but that's not too important for us)

restorecon_recursive /data
restorecon_recursive /mnt

this will supposedly restore file contexts (permissions if you prefer the older term) on all your data partitions, it will however break all your secondary ROMs as their system partition actually lives there, but the "permissions" have been overwritten to make it look like just normal data.

This is also why so many Android 7 (Nougat) MultiROM people (in other threads) are having so much trouble, as the file_contexts format has changed, and that hasn't been updated for the new format yet.
​