[Shield Android TV General] bccsergio:
Hi guys, just want to add my 2 cents here...

I recently bought a Shield TV, witch came with Shield Experience 8.0.0 (android 9 Pie) installed. Well, I can't live without root.

So, when I realized that, for the moment, we can't root Pie, my option was to downgrade and root Shield Experience 7.2.3.

First, I have to thank [MENTION=3373302]ACiDxCHRiST[/MENTION] for starting this thread and giving us a way to go. And I have to thank [MENTION=7186920]mLgz0rn[/MENTION] that gave me the light at the end of the tunnel on post #187 on this thread, when I was about to give up.

After following [MENTION=3373302]ACiDxCHRiST[/MENTION] guide, I ended up, like many others, with a partial root, as I couldn't write to /system dir, and I wanted to get rid of some crappy system useless apps, so my quest continued.

Digging on this topic, found about my villain, dm-verity, and after a sleepless night, thousands of flashing and bootlooping, and frustrating results, I found post #187 by [MENTION=7186920]mLgz0rn[/MENTION], and started tests using his hint. After a while, and a few more flashes, I finally got my system 100% up and running, with Shield Experience 7.2.3 and full root access! (now I can sleep in peace).

So, below is my "step-by-step" to accomplish this on my Shield. Just to state, I have a 2017 NVIDIA Shield with 16gb (Darcy), model P2897. This step-by-step starts with Shield TV on Pie, and goes until Oreo full rooted.

It seems long, but it's really simple, I just detailed some things that gave me headache, so others can archive this more easily.

Just want to share my results, as I was struggling with this, others might be in the same situation...

01 - Install NVIDIA drivers on PC

02 - Enable Developer Options

03 - Enable USB Debugging

04 - Connect USB on Shild USB port away from HDMI and on PC

05 - Download "NVIDIA SHIELD TV 2017 Developer Only OS Image" (https://developer.nvidia.com/gameworksdownload - nv-recovery-image-shield-atv-7.2.3-dev_rooted.zip - 1.167.617 KB)

06 - Unpack to a folder with ADB access

07 - Open "Command Prompt" (I use Windows 10, and I'm openning "Command Prompt" with Admin Privileges)

08 - Go to your ADB folder, where you unpacked nv-recovery-image-shield-atv-7.2.3-dev_rooted.zip

09 - Run "adb devices" to connect to SHIELD (grant permission on Shield if prompted)

10 - Plug your Shield Controller on USB port next to HDMI

11 - Reboot in bootloader (run "adb reboot bootloader")

12 - "Factory Data Reset" your device (last option on Fastbot Menu, should take a few minutes, won't take long)

13 - Run "fastboot devices" to check connection to SHIELD

14 - Install nv-recovery-image-shield-atv-7.2.3-dev_rooted.zip (just run "flash-all.bat"), wait to reboot (always check on install progress to see if your installation finishes OK, after flashing vendor (this is the last file from .bat). Also, when rebooting this first boot on SHIELD 7.2.3 Developer OS, unplug Shield Controller and PC from USB. This will prevent from having issues with WIFI on system first setup)

15 - Setup your device, and when ready, re-enable Developer Options and USB Debugging

16 - Go back to "Command Prompt", and again go to your ADB folder, where you unpacked nv-recovery-image-shield-atv-7.2.3-dev_rooted.zip

17 - Run "adb devices" to connect to SHIELD (grant permission on Shield if prompted)

18 - Run "adb root" to get Superuser Privileges

19 - Run "adb disable-verity" to disable AVB 2.0/dm-verity

20 - Run "adb reboot" for changes to take effect

21 - On PC, copy Magisk APK to ADB folder (where you unpacked nv-recovery-image-shield-atv-7.2.3-dev_rooted.zip - I'm using MagiskManager-v7.3.2.apk - https://xdaforums.com/apps/magisk/official-magisk-v7-universal-systemless-t3473445)

22 - Go back to "Command Prompt", and again go to your ADB folder

23 - Run "adb devices" to connect to SHIELD (grant permission on Shield if prompted)

24 - Copy your boot image to SHIELD (run "adb push boot.img /storage/emulated/0/Download/") (It's already in this directory (the one from nv-recovery-image-shield-atv-7.2.3-dev_rooted.zip, installed on step 14))

25 - Install Magisk Manager (Run "adb install MagiskManager-v7.3.2.apk")

26 - Run "adb reboot" for changes to take effect

27 - After reboot, open Magisk Manager. You'll need a mouse here, I'm using mouse from Shield TV Remote on my android mobile phone, works perfectly.

28 - Make sure "Preserve ACB 2.0/dm-verity" is unchecked (it should be already unchecked, mine was)

29 - Select "INSTALL"

30 - Select "Select and Patch a File"

31 - Navigate to your "Download" folder, and select your "boot.img" file (double click on it). Wait for patch to succeed.

32 - Go back to "Command Prompt", and again go to your ADB folder

33 - Run "adb devices" to connect to SHIELD (grant permission on Shield if prompted)

34 - Grab your patched boot image ("magisk_patched.img") from Shield to your PC (Run "adb pull /storage/emulated/0/Download/magisk_patched.img")

35 - Reboot in bootloader (run "adb reboot bootloader")

36 - Run "fastboot devices" to check connection to SHIELD

37 - Install patched boot image (Run "fastboot flash boot magisk_patched.img")

38 - Reboot your device (Run "fastboot reboot")

39 - Go back to "Command Prompt", and again go to your ADB folder

40 - Re-install Magisk Manager (Run "adb install MagiskManager-v7.3.2.apk")

41 - Reboot your device again (Run "adb reboot")

42 - After reboot, open Magisk Manager. It will prompt "Requires Additional Setup", click "yes" and system will auto reboot

That's it, going to Magisk Manager again and you'll see you have it up and running, without "Preserve AVB 2.0/dm-verity" checked.

First thing I've done after succeeding in this task was to install "3C All-in-One Toolbox" and use it to uninstall "System upgrade" (with a backup, to restore whenever I need, if needed), then I installed AdAway to prevent obtrusive Adds. Also, "Amazon Music" got sentenced to death. Others will follow this way after I get some sleep... :P

After a sleepless night (lots of hours of trial and error), finally my Shield is working the way I want it to be. That was tricky.

Hope it helps anyone, just posting it here because it gave me a hard time and I thought others could be in the same situation.