keyboard_arrow_leftBack to the overview

Install OkcarOS on
NVIDIA Shield TV (2015 / 2015 Pro / 2017 / 2019 Pro) [Android TV]

foster

Basic requirements

  1. Read through the instructions at least once before actually following them, so as to avoid any problems due to any missed steps!
  2. Make sure your computer has adb and fastboot. Setup instructions can be found here.
  3. Enable USB debugging on your device.
  4. Make sure that your model is actually listed in the “Supported models” section here (exact match required!)
  5. Boot your device with the stock OS at least once and check every functionality.
  6. LineageOS is provided as-is with no warranty. While we attempt to verify everything works you are installing this at your own risk!

Unlocking the bootloader

  1. Connect the device to your PC via USB.
  2. On the computer, open a command prompt (on Windows) or terminal (on Linux or macOS) window, and type:
    adb -d reboot bootloader
    
  3. Once the device is in fastboot mode, verify your PC finds it by typing:
    fastboot devices
    

    If you don’t get any output or an error:

    • on Windows: make sure the device appears in the device manager without a triangle. Try other drivers until the command above works!
    • on Linux or macOS: If you see no permissions fastboot try running fastboot as root. When the output is empty, check your USB cable and port!
  4. Now type the following command to unlock the bootloader:

    fastboot oem unlock
    
  5. If the device doesn’t automatically reboot, reboot it. It should now be unlocked.
  6. Since the device resets completely, you will need to re-enable USB debugging to continue.

Special Considerations

The Shield TV Pro (2015) has some additional quirks you’ll want to be aware of.

To discern if you have this model, you can run the following command on stock:

adb -d shell getprop ro.hardware

If this command returns anything other than foster_e_hdd or jetson_cv, proceed with the install process. If it returns foster_e_hdd please take note that the fastboot oem unlock command the instrutions below will have you run can take up to 90 minutes. This is due to the fact that the device is securely wiping near to 500 GB of hard disk.

If it returns jetson_cv, or if you have a fresh Jetson TX1, the installation instructions require a Linux host to install, and getting Linux up and running won’t be covered here.

  1. Download a flash package.
    • It will be named p2371_flash_package.tar.xz
  2. Install xz and python3. To do so, run sudo apt -y install xz-utils python3 (Debian based hosts) or dnf -y install xz-utils python3 (Redhat based hosts).
  3. Run the following command in the folder which you downloaded the flash package to tar -xvf p2371_flash_package.tar.xz.
  4. Power off the device, and boot it into download mode:
    • With the device off, press the FRC REC button, then tap power. Release the FRC REC button once the device enumerates in APX mode, to discern this, run sudo dmesg on your host, and look for “Product: APX”, if it doesn’t show, please try this step again or try a different USB cable/port until it enumerates.
  5. Now, from the same terminal as before, run:
    sudo ./flash.sh
    
  6. The script will flash the boot stack and boot directly to OkcarOS Recovery. Now, please skip to the section labeled “Installing OkcarOS from recovery”:

Installing a custom recovery using fastboot

  1. Download Lineage Recovery. Simply download the latest recovery file, named recovery.img.
  2. Connect your device to your PC via USB if it isn’t already.
  3. If your device isn’t already in fastboot mode, on the computer, open a command prompt (on Windows) or terminal (on Linux or macOS) window, and type:
    adb -d reboot bootloader
    
  4. Once the device is in fastboot mode, verify your PC finds it by typing:
    fastboot devices
    

    If you don’t get any output or an error:

    • on Windows: make sure the device appears in the device manager without a triangle. Try other drivers until the command above works!
    • on Linux or macOS: If you see no permissions fastboot try running fastboot as root. When the output is empty, check your USB cable (preferably use a USB Type-A 2.0 one or a USB hub) and port!
  5. Flash recovery onto your device:
    fastboot flash recovery recovery.img
    
  6. Now reboot into recovery to verify the installation. Do not reboot into the existing OS, since it will overwrite the recovery you just installed!
    • With the device powered off, plug the included Shield controller into the USB-A port on the back of the device. Next, hold the A button and B button while plugging the device into power, continue until a menu is displayed. Tap the Y button until “Boot recovery kernel” is selected. Now, press the A button to select this option.

Installing OkcarOS from recovery

  1. Download the OkcarOS installation package that you would like to install or build the package yourself.
    • (Optionally): If you want to install Google Apps add-on package (use the arm64 architecture), you can download it from here.
  2. If you are not in recovery, reboot into recovery:
    • With the device powered off, plug the included Shield controller into the USB-A port on the back of the device. Next, hold the A button and B button while plugging the device into power, continue until a menu is displayed. Tap the Y button until “Boot recovery kernel” is selected. Now, press the A button to select this option.
  3. Now tap Factory Reset, then Format data / factory reset and continue with the formatting process. This will remove encryption and delete all files stored in the internal storage, as well as format your cache partition (if you have one).
  4. Return to the main menu.
  5. Sideload the OkcarOS .zip package but do not reboot before you read/followed the rest of the instructions!
    • On the device, select “Apply Update”, then “Apply from ADB” to begin sideload.
    • On the host machine, sideload the package using: adb -d sideload filename.zip.

Installing Add-Ons

  1. Click Apply Update, then Apply from ADB, then adb -d sideload filename.zip for all desired packages in sequence.

All set!

Once you have installed everything successfully, you can now reboot your device into the OS for the first time!

  • Click the back arrow in the top left of the screen, then “Reboot system now”.

Get assistance

After you’ve double checked that you followed the steps precisely, didn’t skip any and still have questions or got stuck, feel free to ask on our subreddit or in #OkcarOS on Libera.Chat.