Skip to content

Getting Started with the Jetson reference platform

Michael Scott edited this page Aug 5, 2015 · 6 revisions

Required packages

Ensure that minicom, fastboot and adb are installed on your host system:

$ sudo apt-get install minicom
$ sudo apt-get install android-tools-fastboot
$ sudo apt-get install android-tools-adb

Establish serial communications

Jetson has a DB9 serial port on one side of the dev board. This port is used for communication with the device in u-boot as well as bootlogs.

Bootlogs

U-Boot SPL 2014.10-g7f47e9c (Jan 26 2015 - 12:00:09)

U-Boot 2014.10-g7f47e9c (Jan 26 2015 - 12:00:09)

TEGRA124
Board: NVIDIA Jetson TK1
I2C:   ready
DRAM:  2 GiB
C:   Tegra SD/MMC: 0, Tegra SD/MMC: 1
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Checking for recovery ...
..
No reboot-mode found
Net:   Net Initialization Skipped
No ethernet found.
Hit any key to stop autoboot:

Android_for_Jetson NVFlash Package

Before Android development can begin on the Jetson TK1, the internal MMC needs to be re-partitioned and a new bootloader flashed. This process is accomplished by using an NVFlash package.

Instructions for using the NVflash package

  • Download Latest Ara Android NVflash package for Jetson (filename: nvidia-jetson-ara-android-*.tgz)

  • Extract *.tar.gz files to a directory on the host

  • cd <location of extracted files>

  • Connect Linux host to Micro USB (purple)

  • Make sure 12 Volt power adapter is connected (and NEVER use this power adapter on ANY other dev board!!)

  • If Jetson is running, as evidenced by the cooling fan spinning, press and hold the "Power" button until the board turns off.

  • Power on Jetson by holding "Force Recovery" button and then pressing "Power" button

  • After the cooling fan starts spinning, you may release both buttons.

    NOTE: When the device is placed in Force_Recovery mode, the serial console will be silent and nonresponsive.

  • Use the NVFlash package

    $ sudo ./runme.sh

    This process will take 1-2 minutes to complete and then an automated reboot will occur. You should see the following message on the host:

    The target ardbeg has been flashed successfully

    After the reboot, the device should boot into Android OS.

    During reboot you may see warnings about "Unable to mount Ara on Jetson". These can safely be ignored.

Contents of the Android_for_Jetson NVflash package

  • u-boot bootloader based on version 2014.10. Additions include:
    • configure for loading an Android boot.img from either the boot or recovery partitions depending on boot mode.
    • Android boot.img can contain a dtb binary in 3rd page aligned slot
    • Fastboot is configured. To enter fastboot mode, use serial connection and interrupt the boot-up. Enter "fastboot" at the prompt.
    • On the host, use "sudo fastboot oem recovery" to enter Android recovery.
  • Android recovery included is "Team Win Recovery Project" (TWRP).
  • The kernel for this project is based on Google's kernel/tegra android-tegra-3.10 branch found here:https://android.googlesource.com/kernel/tegra/+/android-tegra-3.10
  • To enable Nvidia HW acceleration in Android please follow the instructions below for flashing the vendor partition.

Instructions for flashing NVIDIA vendor fastboot image [OPTIONAL]

This process enables hardware supported graphics and codecs in the Android OS. Once the vendor image is flashed, it will stay there until the NVflash package resets it or the vendor partition is erased via another means. (You do not need to re-flash this partition after every build.)

  • Download the NVIDIA vendor fastboot image for hardware support (filename: nvidia-jetson-vendor-*.tgz)

  • Extract the .tgz file to a directory on the host

  • cd <location of the extracted shell script>

  • Run the shell script and use space to view the licensing agreement.

  • If you accept the agreement, enter “I ACCEPT” to complete the vendor.img extraction.

  • There should now be a vendor.img file in the same directory.

  • Follow the instructions under "How to place Jetson in fastboot mode" to place Jetson in fastboot mode.

  • Use fastboot host binary to flash the vendor.img to the device using the following command

    $ sudo fastboot flash vendor vendor.img

  • After flashing the vendor image, reboot the device

    $ sudo fastboot reboot

    NOTE: A vendor.img file is generated as a part of the Ara Android build. If flashed, your device will revert to software rendering for graphics. If this was not desired, then repeat these steps.

Entering recovery / Flashing OTA packages [OPTIONAL]

  • Copy the otapackage .zip file to a vfat formatted SD card and insert that card into Jetson
  • Make sure you have a USB mouse connected to the primary USB port
  • Power on the device normally using the power button
  • Immediately AFTER pressing the power button, press the force_recovery button, this triggers recovery mode. If your device seems unresponsive: you may have pressed force_recovery too early (this causes the device to go into download mode). Try using the "reset" button, and then press force_recovery again (in the first 1-2 second of boot).
  • Once in recovery, use your mouse to navigate and select "Install" button
  • Find the gray area for "Storage:" and make sure it says "Micro SDcard", if not click on it and select "Micro SDcard"
  • Find the otapackage .zip file you copied to your SD card and click on it.
  • Use the mouse to drag the blue arrow across the "Swipe to Confirm Flash" area to start the update
  • Once complete, choose "Reboot"

How to place Jetson in fastboot mode

Jetson can be placed into "Fastboot" mode in several ways. Each method is described below depending on the device's power state and ability to use a serial console.

NOTE: Fastboot protocol will require a USB connection from your host to the micro USB port on Jetson.

  • [from power off state / using serial console]:

    • Confirm serial connection by following "Establish Serial Communications" instructions above.

    • Power on the device normally

    • Interrupt the autoboot delay during boot by pressing enter in minicom

      Hit any key to stop autoboot: 3

    • Once interrupted you should see a prompt

      Tegra124 (Jetson TK1) #

    • Use the "fastboot" u-boot command to place the device into fastboot mode.

      Tegra124 (Jetson TK1) # fastboot

  • [from powered on state / using serial console]:

    • Confirm serial connection by following "Establish Serial Communications" instructions above.

    • In the minicom window, press enter a few times to see the console prompt

      shell@jetson:/ $

    • Enter the following command on the serial console to reboot into fastboot mode

      shell@jetson:/ $ reboot bootloader

    NOTE: serial console will show "Found reboot-mode = bootloader!"

  • [if device is booted into Android OS / using adb via USB connected to micro USB port on Jetson]

    • Make sure you have a USB cable connected from your host to the micro USB port on Jetson.

    • To reboot into fastboot mode, enter the following command on the host:

      $ sudo adb reboot bootloader

    NOTE: serial console will show "Found reboot-mode = bootloader!"

Flashing partitions to the device using fastboot

  • Confirm serial connection by following "Establish Serial Communications" instructions above

  • Enter fastboot mode by following the instructions in "How to place Jetson in fastboot mode"

  • Use the fastboot host command to flash an image file to a partition on the device:

    $ sudo fastboot flash <partition name> <path to .img file>

    Example: $ fastboot flash boot boot.img

  • After flashing the partitions, make sure to reboot the device using fastboot:

    $ sudo fastboot reboot

More Information about Jetson TK1

Known Issues

  • Android: None or stuttering HDMI Audio. Use headphones for best results