[Shield Android TV Android Development] Downunder35m:
A real life job sadly limits my time far more than what I would like.

So maybe my failures are of use to you...

Lets start with the basics:

(All for the 2017 model!)

Firstly, the bootloader has changed and now enforces basically everything Google has on offer.

This means you can not just boot into a custom recovery because the bootloader does not accept it as genuine.

Lets say you get around this problem by, dor example, compiling TWRP from source and with the not yet realesed NVidia 7.2 sources.

There might be other ways but right now I think we can't get around compiling it from scratch.

Once you are able to somehow properly boot into TWRP there is more problems:

A lot if not all special rights and permissions are now handled almost exclusively by the DTB, or to be precise the DTS, which is compiled during boot.

By default TWRP does not make any use of the DTB but instead relies only on the FSTAB configuration.

And since TWRP is not an authorised service, task or app the bootloader won't provide the required rights.

The system partition stays invisible, the vendor part locked and since TWRP is required to copy or store at least some things somewhere this is detected as a possible intrusion.

As that the bootloader now marks the entire system as compromised - the dreaded corrupted system message appears and the system fails to boot.

You could tweak the init files, get the complete FSTAB info from the plat - and nonplat_file_contexts and even fiddle with the rest.

Then you get this happy feeling of a booting TWRP, pull a backup and think all is fine.

That it until you try to reboot and nothing works anymore.

The backup is useless as firstly you can not write it back and secondly it will be encrypted or otherwise corrupt.

To be able to use TWRP ADBD must be able to run in root mode, this is not possible by default on a user or release build, which NVidia now provides as a "developer" firmware.

A bootloader set to enforce all SeLinux and DM-Verity funtions will not allow any vital modifications to any vital part of the system.

In theory you must first at least free the bootloader (we can not do that) or destroy the safety, like by using a modified DTB.

Then you must make sure that you modifiy the prop files so full ADB and ADBD rights are available where they are needed.

After that TRWP will run just fine but it creates a cricle that first needs to be broken somehow ;)

No root rights means no TWRP, no TWRP means no mods to the system.

Magisk currently fails to help us as it does not make use of DTB features at this stage.

And if you ask me then messing with the DTB can backfire badly.

Unlike normal firmwares we won't get a DTB partition included in the boot image or kernel image.

So once the dTB is stuffed too much it will be hard to impossible to install a genuine or custom firmware.

Once Pie comes out this will be worse.

Here the DTB too will be protected and generated/checked during boot.

Unless NVidia wakes up and removes these restrictions from the developer firmwares we will be locked out until someone finds a way to restore full root rights.

Right now I am hopin they will still release the full sources one day.

With a massive effors one could then just compile a normal userdebug firmware and all is fine once more.