[Moto G5 Plus ROMs, Kernels, Recoveries, & Other De] NZedPred:
FAQs

Frequently Asked Questions

What is the 'very crude backup system integrated into the zips'?

This is a script that is run at the start of the install. It's purpose is very simple - it creates "dd backups" (i.e. bit-perfect images) of the modemst1/2 and persist partitions. They are stored in your sdcard as "backup_yyyymmddHHMMSS_modemst1.img", etc., where yyyymmddHHMMSS represents the date and time the script was run.

For this to work, your data partition must be mounted. I haven't included any checks for this (I'm not really a shell script person - it would take me hours to get this sort of thing right) - this is what puts the "crude" in "very crude backup system". UPDATE - the aroma installers now check that data is mounted, and abort the install if not. Most of the time the data partition will be mounted in TWRP, so this will work 99% of the time. Caution should still be applied, and you should still copy these or any other backups to cloud storage to be safe.

OK, so if I needed to use these backups, how do I restore them?

To restore these, you will have to reboot into TWRP and open up a shell or use adb. The commands to restore each partition are as follows (replacing yyyymmddHHMMSS with the appropriate values of course):

dd if=/sdcard/backup_yyyymmddHHMMSS_modemst1.img of=/dev/block/bootdevice/by-name/modemst1
dd if=/sdcard/backup_yyyymmddHHMMSS_modemst2.img of=/dev/block/bootdevice/by-name/modemst2
dd if=/sdcard/backup_yyyymmddHHMMSS_persist.img of=/dev/block/bootdevice/by-name/persist

Note that these commands are very powerful, and applied incorrectly can result in you bricking your phone if you overwrite the wrong partition.

So are dm-verity and forced encryption now not able to be disabled?

OK some history... Nougat had fstab (file system table) in the boot image. So in those days, I would open up the image, and edit the fstab.qcom file, do the appropriate changes, repack the boot image, and all is fine.

Now, under Oreo, the fstab file is not in the boot image, it's under /system/vendor/etc/fstab.qcom or similar. Editing that file appears to have no effect. For now, Magisk is the easiest way of disabling both, but you must make sure to install it immediately after installing the rom and before rebooting.

Update - this is now resolved in the second Oreo soak test download. dm-verity is still disabled in the boot image, but a completely different way. Once this is done, disabling forced encryption works as expected.

Which partitions are modified?

The short of it is this - boot, system and 'firmware'-related partitions. None of the bootloader partitions are updated. The full list of partitions that are written is:

modem

fsg

dsp

boot

system

oem

Note that this list applies to the Nougat and Oreo flashable zips.

TWRP is no longer installed after flashing this

I believe this is related to dm-verity (see above). You will have to first reinstall TWRP via fastboot. When TWRP is back, install magisk immediately after installing the rom, and before rebooting.

I'm having problems with an Oreo custom rom after installing this rom, what can I do?

Refer to the OP, the section about downgrading to Nougat - the same approach applies. Oreo Custom roms will have been based upon the available Nougat blobs that were available. As the blobs have been updated in the Oreo release, the issue is that they are not compatible. So install a full TWRP Nougat zip and then install your Oreo Custom rom.

Dirty or clean flash?

I did a dirty flash, as I came from the latest Nougat stock rom. Keep in mind that this is nothing more than the OTA applied to the previous Nougat build and packaged into a TWRP zip. So, as long as you have come from (the latest) Stock Nougat, you should be able to dirty flash, as that would be the use-case for the OTA. If you were on another rom, clean flash required.

Once you are on one of these builds, you can dirty flash subsequent builds. Again, this would be just like flashing one OTA after the other. Also note that these builds are complete in their own right, you don't need to incrementally flash - you can flash the latest to get the full install.

My device was encrypted, and I really need to decrypt it. How can I do this?

Sorry, but the only way is to format the data partition. That means you will need to backup your data, and your internal storage as well (/sdcard). After backing up, use TWRP to format the partition. From the TWRP main menu, select Wipe > Format Data. Then follow the on-screen instructions.

Is it 32 bit or 64 bit

32 bit. We've known this would be the case for a long time.

How can I create flashable zips myself?

I created the guide below, and it has been updated for Oreo. A word of warning, it is not for the faint of heart. You will need to have a good understanding of the Linux command line, and be able to understand the techniques that are being taught, rather than expecting that the process is a 'step-by-step'. Adaptability is key here.

[GUIDE] Creating TWRP Flashbale Stock roms

What are the new Aroma zips?

The aroma zips use the Aroma installer. Some of you may have seen the Aroma installer for Open Gapps. The key here is that I, as the packager, can build in selection options into the installer. It's all available as a nice GUI for the users to pick and choose from the options I've provided. Here are the options that are available:

Do backups - does the backups as mentioned earlier in the FAQs.

Erase EFS - erases modemst1 and modemst2, as described in the first post. Also DDR is erased, but I'm not sure what purpose that has but it may as well go together with these.

Install Firmware - installs the following partitions - modem, fsg, dsp; each of these has something to do with hardware / connectivity.

Install System - Installs the following partitions - boot, system, oem.

Apply patches - as long as Install System is selected, will install the patched boot image with dm-verity disabled, and will edit the fstab (filesystem table) to disable forced encryption.

On soak test 2 or later, I have my IMEI but no signal. What can I do?

In all cases where this has happened, the user's phone has relied upon an EFS backup for IMEI, due to flashing another persist. In these cases, it appears that the only way to get a signal is to use the firmware (i.e. modem, fsg, dsp - refer previous FAQ) from soak test 1. We're probably seeing here that the EFS does in fact need to be recreated to be valid. Unfortunately for these users, by not having their own persist, they are stuck with an old EFS and the newer firmwares appear to not work.

To do this

if you are already on Soak Test 2 or later, download the Soak Test 1 firmware download at either of these links:

Android File Host - oreo-soak1-firmware.zip

Dropbox - oreo-soak1-firmware.zip

If you are on Soak Test 1, install Soak Test 2 or later / official aroma installer and de-select firmware

My fingerprint is not working on my custom ROM

Refer to the thread for your custom ROM, and ask questions there. In short, Nougat and Oreo firmware are not compatible with each other. Many custom ROMs are now using Oreo firmware, whereas previously (before October 2018) pretty much all custom ROMs were using Nougat firmware. It's messy now, but please ask the questions in the right place (which is NOT this thread).

My touchscreen isn't working after flashing, even within TWRP

This seems to happen somewhat rarely, although I don't know what the cause is. As it affects TWRP as well, and TWRP uses the 'modem' partition for getting its firmware blobs, I guess it's possible that this particular partition is getting a conflicting modification whilst flashing, which is causing problems (but this is purely speculation on my part).

To solve, fastboot flashing the stock ROM appears to work. It may also be possible whilst in TWRP to manually flash the partitions via ADB, but that takes a bit of work and knowledge. Until someone can truly work out what's happening and the minimum required to fix it, stick with fastboot.

Update - refer to post #3 for the latest information about this issue.