BOOTMOD - Root your Shield In 1 minute (2015, 2017, & 2019)

Search This thread

jenneh

Senior Member
@fonicmaxxim I think "normal" is kinda subjective but in my opinion I don't think it is useful for normal people (outside of the curious) because of all the potential problems and troubleshooting needed. What I think of as normal people is they like things to just work and have some clear directions what to do with the root privilege escalation when its really something you do for you, for fun, for work, or some other predetermined reason (like perhaps self education). Rooting should be a solution for a problem for your use case, and if it is the opposite, a solution seeking a problem, then maybe it's best to stay stock, security concerns aside. Rooting is a good learning tool I can say that as a very positive aspect but for a lot of people the negatives (bugs, breaking things) would usually be a deal breaker.

Thank you for asking these things I think it will really help others who aren't sure if or why they would even want to try this, to save some time.

PS i am no developer I am just a normal curious person trying to self educate so this is my use case
 

jenneh

Senior Member
I am having a 2015 foster nvidia Shield TV. I want root my device. Can I adapt this guide here?
You would just need to download the firmware you want from gameworks for the 2015 shield and then patch the boot like shown here. If you have any trouble or if you would rather me make one for you, just tell me which firmware you want and I can build one.
4.PNG
 

I_did_it_just_tmrrow

Senior Member
Feb 27, 2011
390
75
You would just need to download the firmware you want from gameworks for the 2015 shield and then patch the boot like shown here. If you have any trouble or if you would rather me make one for you, just tell me which firmware you want and I can build one.
Thanks for your information. I already saw the instructions for modifying the boot img in your initial post.

What worries me though is the fact that foster devices don't have a ramdisk. As far as I know, flashing a patched boot img on devices without ramdisk will cause a bootloop. Do I have this wrong in my head?

Also, I would be interested to know why this project is based on a fork of Magisk?

PS: Is this is the current release page:
 

jenneh

Senior Member
Thanks for your information. I already saw the instructions for modifying the boot img in your initial post.

What worries me though is the fact that foster devices don't have a ramdisk. As far as I know, flashing a patched boot img on devices without ramdisk will cause a bootloop. Do I have this wrong in my head?

Also, I would be interested to know why this project is based on a fork of Magisk?

PS: Is this is the current release page:
I do not know the answer to your first question, but the forked version was used because it included magiskhide which topjohnwu's original did not have, for some folks who needed to pair with safetynet module bypass. I didn't think to add the option for topjohnwu's bootmod to the op, will get those added this week so there is more choice. Thank you for asking this and yes the mods shared right now are using husky's delta variant of magisk.
 
Last edited:

I_did_it_just_tmrrow

Senior Member
Feb 27, 2011
390
75
I do not know the answer to your first question, but the forked version was used because it included magiskhide which topjohnwu's original did not have, for some folks who needed to pair with safetynet module bypass. I didn't think to add the option for topjohnwu's bootmod to the op, will get those added this week so there is more choice. Thank you for asking this and yes the mods shared right now are using husky's delta variant of magisk.
My information comes from here:
 

jenneh

Senior Member
My information comes from here:
It's very interesting to see the history there, all the troubleshooting behind the scenes. My only question would be were the affected 2015 users locked out of the bootloader menu when the bootloop occurred? This has not been possible with all the terrible things I have done to my 2019 shield. No matter what I can still access the bootloader to flash, so therefore it is okay to test images. Is this the case with the 2015 shield? I am not sure, which I why I wont say to just test it and try. Can't really advise more there but maybe someone who knows more will see your post and can share some thoughts.

But if you do find out that the bootloader is still accessible even after a bad boot image flash, then it wouldn't hurt anything to try. I would just verify that is the case first.

PS thank you again as this discussion led me to realize I accidentally deleted the stock 2019 8.2.3 images and am fixing that now for the repo. Working on re-modding all the boots for the 2017 and 2019 shield. I am going to just erase all the old boot mod links and share new ones when it's done
 
Last edited:
  • Like
Reactions: louforgiveno

jenneh

Senior Member
An update was made to the OP, the instructions have been edited, pictures added, sources and source code added, and all dl links are updated.

CHANGES:
13.png

The bootmod batch script has been updated so that you can choose which boot image to flash. This script will now install the magisk apk as well.

If you would prefer to boot into the bootloader yourself, and flash only the bootmod as we did before, .deltamodonly and .magiskmodonly batch files have been provided. Simply boot into the bootloader and run your choice of batch file, then manually install the apk.

In the directory, bootmod1.img is the Original TopJohnWu Magisk, bootmod2.img is the forked version by HuskyDG. The boot.img file is the stock boot image. Having the original boot.img makes it easier to flash back to stock if needed.

This was put together in this fashion to make life easier for myself so I can share a single folder for each firmware.. instead of having to share 3 individual files for each firmware. The files are small enough I would hope this doesn't cause too much trouble for anyone with download size restrictions.

PS The bootmods were patched using my unrooted Nokia G20 to verify that any android device can use magisk with or without root to make these "mods". This may have been common knowledge for others but I didn't know know until now. So. :giggle:

Simple 1 min demo:
 

I_did_it_just_tmrrow

Senior Member
Feb 27, 2011
390
75
You would just need to download the firmware you want from gameworks for the 2015 shield and then patch the boot like shown here. If you have any trouble or if you would rather me make one for you, just tell me which firmware you want and I can build one.
Done and success.

My patched image, extract from the zip "nv-recovery-image-shield-atv-2015-pro-9.0.0.zip" is here in attachment. Source (v9.0.0).

This image should work on device (both orig. boot.img had the same md5/sha256):
  • NVIDIA SHIELD ANDROID TV 2015 with 16GB EMMC
  • Codename: foster
  • NVIDIA SHIELD ANDROID TV PRO 2015 with 512GB HDD (or more if you changed your SATA-Device)
  • Codename: foster_e_hdd

Code:
certutil -hashfile boot-magisk_patched-25210.img SHA256
SHA256-Hash von boot-magisk_patched-25210.img:
2096f51684858f4d5ea402879203743e85d0728e3aee37c7f91f7af24aa2ea25

certutil -hashfile boot-magisk_patched-25210.img MD5
MD5-Hash von boot-magisk_patched-25210.img:
e86d32f620979b282fcad1ef8d1167bb

====

certutil -hashfile bootOriginal.img MD5
MD5-Hash von bootOriginal.img:
1cf3a64cba4563127df659ba65fa4398

certutil -hashfile bootOriginal.img SHA256
SHA256-Hash von bootOriginal.img:
0186f1ccd67778425b5de754b83370ad5ee40194a2fa32ccc51b3cdec0bbaf7f
 

Attachments

  • bootOriginal.img
    10.4 MB · Views: 13
  • boot-magisk_patched-25210.img
    11.1 MB · Views: 16
Last edited:

jenneh

Senior Member
An update has been released and pushed to all the zip files. (These are just QoL things for the BOOTMOD script.) As usual, the OP's guide has been updated again with the new source code and pictures.

You are now presented with a menu that will show if your device is connected via adb.
SYSTEM MENU.PNG


In case you forgot to adb connect, option 3 will allow you to type your ip address and connect to the shield.


Option 2 will allow you to install just the magisk apk, this will be useful for updates.
apk.PNG


Option 1 pushes the shield into the bootloader menu and verifies it is posting before entering the flash menu, like the original version did before.

"Reboot shield to system" "escapes" have been added to the menu in a couple of places.

A Friendly reminder was added to the stock boot flash, to re-engage bootloader lock for upscaler, and a pause before system reset to do so.
 

I_did_it_just_tmrrow

Senior Member
Feb 27, 2011
390
75
An update has been released and pushed to all the zip files. (These are just QoL things for the BOOTMOD script.) As usual, the OP's guide has been updated again with the new source code and pictures.

You are now presented with a menu that will show if your device is connected via adb.View attachment 5857939

In case you forgot to adb connect, option 3 will allow you to type your ip address and connect to the shield.
View attachment 5857935

Option 2 will allow you to install just the magisk apk, this will be useful for updates.
View attachment 5857941

Option 1 pushes the shield into the bootloader menu and verifies it is posting before entering the flash menu, like the original version did before.

"Reboot shield to system" "escapes" have been added to the menu in a couple of places.

A Friendly reminder was added to the stock boot flash, to re-engage bootloader lock for upscaler, and a pause before system reset to do so.
View attachment 5857933
Thx, nice Job.

I think it would be good to mention that the Boot.img is for 16 (bon-pro) and 500gb (pro) 2015 Version.

Greetings by Idijt
 
  • Like
Reactions: jenneh

jenneh

Senior Member
Thx, nice Job.

I think it would be good to mention that the Boot.img is for 16 (bon-pro) and 500gb (pro) 2015 Version.

Greetings by Idijt
Thank you so much, I will get those spoiler tags corrected. I promise I read what you said yesterday but it didn't Click what that meant until just now..

Do you happen to know if the same applies to the full system firmware they have up on gameworks for the 2015, the 8.2.3? Not just the boot but like a total fresh install?

I noticed that gameworks does not have an 8.2.3 image that is labeled only as "2015" instead it is labeled as 2015 pro. Would you happen to know if the "pro" image works for flashing to 8.2.3 fully on the 16gb? No big deal if not but would like to get it added to the firmware repo thread if its possible.
 
Last edited:

karim-ps

Senior Member
Dec 16, 2012
164
22
Warsaw
Done and success.

My patched image, extract from the zip "nv-recovery-image-shield-atv-2015-pro-9.0.0.zip" is here in attachment. Source (v9.0.0).

This image should work on device (both orig. boot.img had the same md5/sha256):
  • NVIDIA SHIELD ANDROID TV 2015 with 16GB EMMC
  • Codename: foster
  • NVIDIA SHIELD ANDROID TV PRO 2015 with 512GB HDD (or more if you changed your SATA-Device)
  • Codename: foster_e_hdd

Code:
certutil -hashfile boot-magisk_patched-25210.img SHA256
SHA256-Hash von boot-magisk_patched-25210.img:
2096f51684858f4d5ea402879203743e85d0728e3aee37c7f91f7af24aa2ea25

certutil -hashfile boot-magisk_patched-25210.img MD5
MD5-Hash von boot-magisk_patched-25210.img:
e86d32f620979b282fcad1ef8d1167bb

====

certutil -hashfile bootOriginal.img MD5
MD5-Hash von bootOriginal.img:
1cf3a64cba4563127df659ba65fa4398

certutil -hashfile bootOriginal.img SHA256
SHA256-Hash von bootOriginal.img:
0186f1ccd67778425b5de754b83370ad5ee40194a2fa32ccc51b3cdec0bbaf7f
Does this boot.img work on 2017 normal "non pro" version?
 

karim-ps

Senior Member
Dec 16, 2012
164
22
Warsaw
An update has been released and pushed to all the zip files. (These are just QoL things for the BOOTMOD script.) As usual, the OP's guide has been updated again with the new source code and pictures.

You are now presented with a menu that will show if your device is connected via adb.View attachment 5857939

In case you forgot to adb connect, option 3 will allow you to type your ip address and connect to the shield.
View attachment 5857935

Option 2 will allow you to install just the magisk apk, this will be useful for updates.
View attachment 5857941

Option 1 pushes the shield into the bootloader menu and verifies it is posting before entering the flash menu, like the original version did before.

"Reboot shield to system" "escapes" have been added to the menu in a couple of places.

A Friendly reminder was added to the stock boot flash, to re-engage bootloader lock for upscaler, and a pause before system reset to do so.
View attachment 5857933
Will this tool actually root (install magisk boot.img) the device or only install magisk apk?
 

jenneh

Senior Member
Will this tool actually root (install magisk boot.img) the device or only install magisk apk?
It does both. Option 1 flashes the boot.img and is able to install the apk after the shield resets, the apk menu option 2 was provided incase the user presses a button too early after the flash and missed the apk installation. There are images provided for the 2017 shield the normal one that manzing tested for us. The "boot mods" in the op are already magisk patched and ready to go. Look under Step 2 and you can see the mods up for the 2017. The "boot mods" downloads have everything you need, they already have magisk included and you can choose between the original magisk or the forked version when you run the script. You just have to pick the right boot mod for your currently installed firmware
 
Last edited:
  • Like
Reactions: karim-ps

karim-ps

Senior Member
Dec 16, 2012
164
22
Warsaw
It does both. Option 1 flashes the boot.img and is able to install the apk after the shield resets, the apk menu option 2 was provided incase the user presses a button too early after the flash and missed the apk installation. There are images provided for the 2017 shield the normal one that manzing tested for us. The "boot mods" in the op are already magisk patched and ready to go. Look under Step 2 and you can see the mods up for the 2017. The "boot mods" downloads have everything you need, they already have magisk included and you can choose between the original magisk or the forked version when you run the script. You just have to pick the right boot mod for your currently installed firmware
I checked the tutorial. Overall, I'm on 9.1.1 (latest) I have adb/fastboot drivers/modes working and I can issue manuall commands. I also have TWRP installed.

I'm getting this error when trying to root. I should add that I tried to run the script as admin but to no avail.

1678472263408.png
 

karim-ps

Senior Member
Dec 16, 2012
164
22
Warsaw
Chose option 2 which is HuskyDG Magisk Delta, it was flashed successfully but can no longer boot to system. Each time I reboot it goes straight to fastboot menu
 

jenneh

Senior Member
Chose option 2 which is HuskyDG Magisk Delta, it was flashed successfully but can no longer boot to system. Each time I reboot it goes straight to fastboot menu
I don't have a 2017 to test with unfortunately. The 9.1.1 boot image hasn't been released on gameworks. This was a special image pulled from the OTA update that @Manzing was able to pull for us. It also doesn't make sense why image 1 wouldn't flash unless the image was missing from the folder. All the bootmods use the same script..

One thing you can test is to reboot into the bootloader menu and run the .magiskmodonly script and see if that installs the bootmod1 for you. Then you could install the apk after rebooting to system.

You could also try flashing it back to stock and it should just post back.

The only difference in the code, and this is in the bootmod script too, is the number 1 and number 2 in bootmod. There is nothing here that would require Admin, nor that would stop bootmod1 from flashing when it allows the other to flash. The bootloop is another question. Maybe Manzing can weigh in and give an opinion?
Capture.PNG
 

Manzing

Senior Member
Oct 8, 2012
243
103
  • Like
Reactions: jenneh

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    Thanks for your reply!


    I don't like all the launcher apps. So, i hope that it is possible to disable the discover tab and/or disable the ads in the future.

    PS:
    I have the 2019 version.
    Hello mate. it is actually possible to downgrade Shield 2019 to OS 8.2.3. I used this guide and it worked flawlessly: https://florisse.nl/shield/

    Obviously huge thanks to the guy who created it as it saves people so much research and trial + error. Basically alot of time saved.

    Using this tweak guide, I've deleted close to everything from google and Nvidia (bloatware + data collecting) on the 2019 Shield TV: https://florisse.nl/shield-tweaks/

    I've removed the Play Store and Google Play Services, ATV Core Services, ATV Remote Service, Backdrop, Basic Daydreams, Chromecast and many other things.

    I don't use Netflix, Amazon Prime Video, Plex etc. So everything was removed from the Shield.

    This is my ADB batch file to uninstall pretty much everything unneeded:

    Code:
    adb shell pm uninstall -k --user 0 com.google.android.speech.pumpkin & adb shell pm uninstall -k --user 0 com.google.android.tts & adb shell pm uninstall -k --user 0 com.google.android.videos & adb shell pm uninstall -k --user 0 com.google.android.tvrecommendations & adb shell pm uninstall -k --user 0 com.google.android.syncadapters.calendar & adb shell pm uninstall -k --user 0 com.google.android.backuptransport & adb shell pm uninstall -k --user 0 com.google.android.partnersetup & adb shell pm uninstall -k --user 0 com.google.android.inputmethod.korean & adb shell pm uninstall -k --user 0 com.google.android.inputmethod.pinyin & adb shell pm uninstall -k --user 0 com.google.android.apps.inputmethod.zhuyin & adb shell pm uninstall -k --user 0 com.google.android.tv & adb shell pm uninstall -k --user 0 com.google.android.tv.frameworkpackagestubs & adb shell pm uninstall -k --user 0 com.google.android.tv.bugreportsender & adb shell pm uninstall -k --user 0 com.google.android.backdrop & adb shell pm uninstall -k --user 0 com.google.android.leanbacklauncher.recommendations & adb shell pm uninstall -k --user 0 com.google.android.feedback & adb shell pm uninstall -k --user 0 com.google.android.leanbacklauncher & adb shell pm uninstall -k --user 0 com.google.android.apps.mediashell & adb shell pm uninstall -k --user 0 com.plexapp.android & adb shell pm uninstall -k --user 0 com.zattoo.player & adb shell pm uninstall -k --user 0 com.nvidia.tegrazone3 & adb shell pm uninstall -k --user 0 com.plexapp.mediaserver.smb & adb shell pm uninstall -k --user 0 com.google.android.play.games & adb shell pm uninstall -k --user 0 com.netflix.ninja & adb shell pm uninstall -k --user 0 com.amazon.amazonvideo.livingroom & adb shell pm uninstall -k --user 0 com.amazon.amazonvideo.livingroom.nvidia & adb shell pm uninstall -k --user 0 com.google.android.youtube.tvmusic & adb shell pm uninstall -k --user 0 com.android.vending & adb shell pm uninstall -k --user 0 com.google.android.gms

    Keep in mind this is an extensive removal of pretty much everything. Payed apps etc. wont work with such cleanup. Most apps however do work- Kodi, Firefox, SmartTube, Speedtest, Fdroid, AdAware, Aurora Store (with private login, if you want to update some apps), Aptoide, Twitch, all sorts of Emulators etc.

    The thing is that Google Play Store automaticall updates itself in the background, even if you disable it (it gets reenabled automatically) and I dont need that. If I want to update something, I will go to Aurora Store or Aptoide and update manually, but I dont want some sheety apps to be doing whatever they want in the background without asking.

    And I didnt install a 3rd party Android Launcher, I use the default one, there are no more ads though after removing like 80% of trash bloatware and adware. The Android TV Home version is 2.1.3-320113730-f and I'm on ShieldOS 8.2.3. No ads to be seen and since even the Nvidia-OTA service was removed, it will never update the Shield by itself or even show a notification that there are updates available- which is exactly how I want it. Everything I need works fine in 8.2.3 and if I ever need an update, I will do it manually.

    Also, while we're at it- it is possible to skip the initial login after factory restore, as seen on the picture attached. Source of it is: https://www.reddit.com/r/ShieldAndroidTV/comments/o8tpkx
    However it is actually not required to downgrade Android TV Home app to version 2.0.10 to remove ads from the home screen. By simply downgrading to ShieldOS 8.2.3 (down from 9.1.1), the ads were removed from the main screen automatically. Then if you do some additional cleanup (like removing ATV Core Services and disabling autoupdate for Apps in Google Play Store), the ads will never show up.
    1
    Wow!

    Amazing news!!

    I will give it a try in the next few days.

    Can't wait to downgrade to 8.2.3!

    Thanks for the info! (-;

    Best regards from germany
    I downgraded my shield 2019 Pro to 8.2.3 today.

    Really easy and absolutely flawlessly! (-:

    Thanks for this magic!!!!

    Best regards!
  • 9
    Hello Friends~!

    We now have a working method to achieve ROOT on STOCK Firmware!

    A script has been made that can boot your shield into the bootloader, erase the old boot, flash the new boot, and install your choice of Magisk apk for you. The script is also able to revert you back to the stock boot image if needed.

    Takes only a minute or two depending if you already have adb installed, fastboot drivers setup, and bootloader unlocked. (The guide will walk you through this if you are new)

    Rooting Your Shield Will Break AI Upscaling and Dolby Vision. You /Cannot/ Lock the bootloader while rooted, you can only Lock the bootloader when you have the stock boot Image installed. This tool simply makes it easier to "Root" and to Revert back to Stock when done, so you can use your AI Enhanced Features again.

    HOW TO ROOT:

    If you are already running the STOCK firmware version you want to ROOT, Skip to step 2.
    You can check your currently installed firmware on the shield by going into Settings, selecting About, then scroll to the bottom.
    9.png

    You will see a section called SHIELD Android TV SW Version, this will show your installed FW

    STEP 1:
    Select a STOCK firmware from this THREAD, and fully install it.

    STEP 2:
    Download the BOOT MOD that correlates to your installed STOCK firmware.
    If you want to build your own "Boot Mod" the instructions are HERE
    Special Thanks to @Manzing for obtaining the 9.1 and 9.1.1 images for us!
    Special thanks to @I_did_it_just_tmrrow for taking the time to download from gameworks, patch with magisk, and install the 2015 version, and verified it works HERE as well as they verified the hashes were the same for the boot.img of the 500gb and 16gb boot.img
    If you want me to add more, let me know.

    STEP 3:
    Make sure you have usb debugging enabled in settings and your shield is ON.
    This adds an additional Minute to setup time 😊😊😊

    Attach a USB-C cable to your shield and plug it into your PC.
    (Use the USB port furthest away from the HDMI Cable)
    7.png

    Go into settings, select device preferences

    8.png


    Select About, then hit the build number 7 times
    9.png


    Back out to device preferences and now select developer options
    10.png


    Then enable USB debugging and Network debugging.
    11.png


    Here's a way to install adb quickly using powershell and chocolatey.

    Open powershell as admin and copy and paste these two lines, one line at a time:
    Code:
    Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
    
    choco install adb

    That's it!

    Note the ip address and in a terminal on your computer, connect to this ip address.

    Example: adb connect 192.168.0.10:5555
    12.png

    This will prompt the shield to allow for a connection, say yes.

    STEP 4:
    Run your choice of .bootmod, .deltamodonly, or .magiskmodonly. MORE INFO
    Simple 1 min demo:

    How to use the new .bootmod script:

    After Enabling USB Debugging and Wireless debugging, then adb connecting to your device, run the .bootmod script

    SYSTEM MENU.PNG

    If you did everything correctly, your device should be listed, and you may proceed by pressing 1 and enter.

    If you forgot to adb connect you may now do so with option 3, just type in your Shield's IP address.
    ipadd.PNG


    After you select 1 on the main menu, the script will then reboot your device into the bootloader and will wait for you to press a key so the script can run fastboot devices to verify that your device has posted.

    fastboot.PNG

    Wait to press any key until you see your shield's lights come on and then you hear the window's chime on your computer. (see 0:16 in the video) Then Press 1 if your device is listed like above.
    Run option 2 again, in case the script went too fast or you hit a key too quickly.

    If your device is still not showing, make sure you have unlocked the bootloader and installed the fastboot drivers for your device.

    DOWNLOAD:

    Now open Device Manager and follow the steps below:
    1.png
    2.PNG
    3.PNG
    4.PNG
    5.PNG
    NOTE THAT UNLOCKING YOUR BOOTLOADER WILL ERASE ALL DATA ON THE DEVICE!

    The shield should now be at the bootloader menu, simply select unlock bootloader
    6.PNG

    flash.PNG

    Now you can select which boot mod you would prefer. The script will erase the old boot image, flash the new one, reset, then the script will pause for us.

    6.png

    When your shield has fully rebooted and is on the main menu, you can press any key in the terminal and the script will finish the magisk installation for us by installing the apk to the device.

    apk.PNG

    If you accidentally pressed a button too quickly, you can always access the apk menu to adb install the Magisk apk.

    FULL RUNDOWN OF V2 CHANGES

    Remember that you can always revert back to the Stock Boot Image and Lock your bootloader (again you can only lock it with a Stock boot flashed) to get your AI Upscaler and Dolby Vision working again when you are done with Root.

    STEP 5:
    Now Opening Magisk will trigger this alert:
    MAGISK APKINSTALL.jpg


    Select OK and after the reboot, your Magisk of Choice will be fully installed!

    6.jpg


    You will now have Root and still be able to use apps and features that you shouldn't be able to. Normally with root (or at least on the Dev Rooted Images) we cannot install Disney +, but as you see, we Sure Can Now~! ;-)

    IF YOUR PLAYSTORE IS MISSING APPS, SEE THIS POST. REQUIRES MAGISK DELTA
    SOURCE CODE --- You may repurpose / share this as you see fit.

    DELTAMODONLY.BAT
    Code:
    fastboot erase boot
    fastboot flash boot bootmod2.img
    fastboot reboot

    MAGISKMODONLY.BAT
    Code:
    fastboot erase boot
    fastboot flash boot bootmod1.img
    fastboot reboot

    BOOTMOD.BAT ---- There is unused code, the :UNLOCK code will be removed later, it didn't work how I would have liked in testing and I forgot to remove it. It isn't harming anything right now so will remove it with the next update.
    Code:
    @echo off
    title [BOOTMOD]
    color 0A
    if "%1" neq "" ( goto %1)
    
    :MENU
    cls
    echo BOOTMOD -- Version 2
    echo =========================================
    adb devices
    echo =========================================
    echo 1. Enter Bootloader Menu for Mod Flashing
    echo 2. Enter APK Menu
    echo 3. ADB Connect
    echo 4. Reboot to System
    echo 5. HELP
    echo 6. EXIT BOOTMOD
    echo =========================================
    set /p answer= Please Enter your Selection:
    if %answer%==1 goto BOOTLOADER
    if %answer%==2 goto APK
    if %answer%==3 goto ADB
    if %answer%==4 goto REBOOT
    if %answer%==5 goto HELP
    if %answer%==6 goto EXIT
    :ADB
    cls
    set /p answer= Type in SHIELD IP Address:
    adb connect %answer%
    goto MENU
     
    :APK
    cls
    echo ===========
    echo APK MENU
    echo ===========
    echo 1. Magisk by TopJohnWu
    echo 2. Magisk Delta fork by HuskyDG
    echo 3. Return to Main Menu
    echo ================================
    set /p answer= Please Enter your Selection:
    if %answer%==1 goto MAGISKAPK
    if %answer%==2 goto DELTAAPK
    if %answer%==3 goto MENU
    
    :MAGISKAPK
    adb install magisk.apk
    goto MENU
    
    :DELTAAPK
    adb install delta.apk
    goto MENU
    
    :HELP
    cls
    echo Adb must be installed on the computer and USB debugging must be enabled on the Shield.
    echo You will need the Fastboot USB drivers installed on your PC.
    echo Check the GUIDE on XDA for more help.
    echo LINK: https://forum.xda-developers.com/t/bootmod-root-your-shield-in-1-minute-2015-2017-2019.4524873/
    echo =====================================================================================
    set /p answer=Press 1 to return to Main Menu:
    if %answer%==1 goto MENU
    
    :UNLOCK
    cls
    fastboot oem unlock
    echo ==============================================================
    echo Use your shield to select yes. Then press any key to continue
    echo ==============================================================
    pause
    set /p answer=Press 1 to Enter Flash Menu or 2 to return to Main Menu:
    if %answer%==1 goto FLASH
    if %answer%==2 goto MENU
    
    :BOOTLOADER
    cls
    adb reboot bootloader
    pause
    cls
    echo =====================================================
    fastboot devices
    echo =====================================================
    echo Is your device listed above?
    echo =====================================================
    set /p answer=Press 1 for yes or 2 for no or 3 for Help:
    if %answer%==1 goto FLASH
    if %answer%==2 goto BOOTLOADER
    if %answer%==3 goto HELP
    
    :FLASH
    cls
    echo How would you like to flash your boot today? Do you want to include:
    echo ====================================================================
    echo 1. TopJohnWu's Magisk
    echo 2. HuskyDG's Magisk Delta
    echo 3. Revert Back To Stock Boot Image
    echo 4. Reboot Shield to System
    echo 5. Return to Main Menu
    echo ====================================
    set /p answer=Select a number and press enter:
    if %answer%==1 goto MAGISK
    if %answer%==2 goto DELTA
    if %answer%==3 goto STOCK
    if %answer%==4 goto REBOOT
    if %answer%==5 goto MENU                                                                                 
    
    :MAGISK
    cls
    fastboot erase boot
    fastboot flash boot bootmod1.img
    fastboot reboot
    echo =====================================
    echo Wait for your Shield to fully Reboot.
    echo =====================================
    pause
    adb install magisk.apk
    goto MENU
    
    :DELTA
    cls
    fastboot erase boot
    fastboot flash boot bootmod2.img
    fastboot reboot
    echo =====================================
    echo Wait for your Shield to fully Reboot.
    echo =====================================
    pause
    adb install delta.apk
    goto MENU
    
    :STOCK
    cls
    fastboot erase boot
    fastboot flash boot boot.img
    echo ================================================================================
    echo REMEMBER TO LOCK YOUR BOOTLOADER FOR AI UPSCALING AND DOLBY VISION FUNCTIONALITY
    echo ================================================================================
    echo 1. Reboot Shield to the System
    echo 2. Return to Main Menu
    echo =========================
    set /p answer=Enter your selection:
    if %answer%==1 goto REBOOT
    if %answer%==2 goto MENU
    
    :REBOOT
    fastboot reboot
    goto MENU
    
    :EXIT
    exit /b
    Here are the sources for the Magisk apk's and their respective projects, used in making the boot mods.

    Topjohnwu's Magisk APK Direct Download Link (v25.2):

    Github Project Page:

    HuskyDG's Forked version of Magisk "Delta" Direct Download Link:

    Github Project Page:

    All original boot images come from NVIDIA's Gameworks:
    SPECIAL THANKS TO OUR FRIENDS IN THE XDA COMMUNITY <333
    Thank you to @topjohnwu for making Magisk
    @huskydg For making the forked magisk with magiskhide enabled and other features
    @nooted1 for teaching us about the magisk variant "delta" that has magiskhide still configured inside the apk
    @ajolly for their efforts in educating us about safetynet modules that can be used within magisk
    @louforgiveno for their efforts in reverse engineering apks, determining that it would be better to clear data in the google playstore instead of cache, and providing excellent feedback on pretty much every step of the way.
    @abc1054 for testing the ai upscaler and teaching me how to even use the silly thing.
    @Zer0_rulz for testing the upscaler and teaching us about link2sd and providing a useful idea for studies, to "freeze apps" as opposed to straight deletion in tests. I will use both methods in the future!
    @pinvok3 for their script they made to teach us how to more efficiently locate the apps tied to the ai upscaler and determining the "tvsettings.apk" to potentially be culpable in jailing our upscaler. They also taught me about the dolby vision feature on the shield
    @Renate for allowing me to bother her in the AVB thread while I try to learn how to talk to people like her. haha
    @Manzing for stepping up and being the hero we needed for the 2017 shield community! They were able to locate the correct pathing for the OTA Firmware as well as provide us the stock 9.1 boot and complete OTA!!
    @I_did_it_just_tmrrow For taking the time to verify magisk is able to indeed patch the 2015 version of the Shield HERE and more so they explained the boot images provided on gameworks for the 2015 version have the same hash, therefore a patched boot will work on both the 16gb and 500gb models. Thank you!

    AI UPSCALER FIX:
    THERE'S SOME TROUBLE WITH THE UPSCALER STILL, THE COMMUNITY IS WORKING TOGETHER IN THE COMMENTS BELOW
    Please note that patching the boot with Magisk causes problems like the AI upscaler and Dolby vision being unavailable. You may want to wait for updates unless you have a reason to root with stock but otherwise feel free to join us in troubleshooting!

    NOTE THAT THIS METHOD REQUIRES A FIX SO ONE COULD RUN ADB AS ROOT OUTSIDE OF THE SHELL. (adb shell su works, but not adb root outside of shell) Trying to mod this binary. Bare with me

    Verified Working on the Shield:
    3
    I wanted to share something I discovered today that I didn't know about before and this deals with TWRP.

    Today I rewrote a GUIDE going over how to install Lineage OS on the shield.

    I noticed that TWRP when opened will then establish a root shell with the device named RECOVERY
    2.png

    So I adb shell ls and noticed that the contents /are not/ the same as what we see in a regular adb shell or in root exploring apps.
    1.PNG
    In fact, the view we are used to seeing is referred to as "system_root" as listed above. If you were to ls that, you would see your traditional filesystem layout.

    So therefore I was not seeing the full picture before... There's files here I pulled that I hadn't read before, I have to sort between the leftover lineage garbage and what not but I will share the native file dump later.

    This also makes me wonder if I was trying to flash the "roms" wrong for this device. Maybe a new approach would be to make a modified and preinstalled system_root that could be adb pushed.

    Not sure just wanted to share

    --edit have to select the MOUNT option in TWRP and then system + vendor to see the full picture, otherwise a lot of empty folders
    3
    I'm using 8.2.3. The newer 9 versions seem kind of sluggish. But the script should work on 9 regardless.

    Lastly "Or we lost some kind of DRM keys during the boot unlocking phase." Is this something we can obtain with a serial UART or JTAG adapter? I just got mine in and am not afraid to break the shield open here in a few days if there's something that could be obtained and shared there. I am new to all this so I appreciate everyone sharing the things
    Sorry I have no idea. I've never worked on Android before and I've spent like 30 minutes on this. :D

    Jtag is usually lower level stuff and I'm pretty sure it's undocumented. If it exists even.
    I just remember, that on a previous phone (Sony Xperia) the drm keys were wiped once you unlock the bootloader, resulting in worse Camera image quality.

    Considering that the upscale works correctly after unroot/relocking, I guess this would only be a soft lock. But still could be registered in the hardware somewhere, where we have no access to. Maybe it's still patchable though.
    3
    @pinvok3 Gosh WOW just wow! Thank You for your Amazing Share!! I will absolutely follow your advice and I will get that app pulled now to poke around.

    Are you rolling 8.2.3 or one of the 9's btw??

    Lastly "Or we lost some kind of DRM keys during the boot unlocking phase." Is this something we can obtain with a serial UART or JTAG adapter? I just got mine in and am not afraid to break the shield open here in a few days if there's something that could be obtained and shared there. I am new to all this so I appreciate everyone sharing the things
    3
    Okay, I'm grasping straws right now, but my shield just crashed after I have started a movie with Dolby Vision enabled. Can someone confirm if Dolby Vision is grayed out (unavailable) on rooted devices but available on nonrooted ones? After this fix I was able to enable Dolby Vision but my system just died with this log:

    12-20 23:12:18.951 3725 3839 E WindowManager: Exception checking for game stream. Exception: android.content.pm.PackageManager$NameNotFoundException: ComponentInfo{com.android.tv.settings/.MainSettings}
    12-20 23:12:18.951 3725 3839 I InputDispatcher: Dropped event because of pending overdue app switch.
    12-20 23:12:18.953 3725 3864 E AudioService: Audioserver died.
    12-20 23:12:18.982 4578 5347 D DolbyAudioService: IMs12 implementation died... Restoring settings after restart
    12-20 23:12:18.983 4578 5347 D DolbyAudioService: Attempting to connect to IMs12
    12-20 23:12:18.992 4578 12382 I DolbyAudioService: Waiting 1 second before attempting to connect to IMs12...
    12-20 23:12:19.037 12385 12385 D audiohalservicemsd: main() Starting [email protected] from vendor/dolby.
    12-20 23:12:19.050 12385 12385 D : Calling decrypt_blob. err(0)
    12-20 23:12:19.056 3432 3432 E Ipprotectd: decrypt_blob: Error during launch operation. err(0xffff0011)
    12-20 23:12:19.056 3432 3432 E Ipprotectd: Error occurred at decryption. err(ffff0011)
    12-20 23:12:19.058 12385 12385 E : Decryption failed
    12-20 23:12:19.058 12385 12385 E : decrypt_blob failed! err(0)
    12-20 23:12:19.058 12385 12385 E : Failed to decrypt.
    12-20 23:12:19.058 12385 12385 E : Failed decrypt .text section.
    12-20 23:12:19.059 12385 12385 F libc : Fatal signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x4ec98e90 in tid 12385 (android.hardwar), pid 12385 (android.hardwar)
    12-20 23:12:19.062 12384 12384 I ServiceManagement: Removing namespace from process name [email protected] to [email protected].

    It seems like some encrypted communication fails which takes the whole system with it. It makes me more suspicious that the bootloader unlock removes/hides/blocks some DRM keys required for AI/Dolby Audio to work. If we could somehow hook into the bootloader unlocking phase to see what's happening ..