JetsonHacks

Developing on NVIDIA® Jetson™ for AI on the Edge

JetPack 2.0 – NVIDIA Jetson Development Pack – Jetson TX1

JetPack 2.0 is a tool that installs the software tools and operating system for a Jetson Development Kit. In the following video, JetPack does an installation for a Jetson TX1 Development Kit. Looky here:

JetPack Information

JetPack 2.0 may be used to install the development tools on a Jetson Development Kit, either Jetson TX1 or Jetson TK1. You can read more information on the Jetson Development Pack web page. There’s a list of all of the System Requirements, as well as the different tools that can be installed.

Note

In addition to the Jetson TX1, you will need another desktop or laptop computer with an Intel or AMD x86 processor. These types of machines are commonly called a PC for Personal Computer. This computer is referred to as the host for the flashing process. JetPack is an x86 binary and will not run on an ARM based machine. In the video, a Dell Inspiron 3000 Series i3847-3850BK Desktop (3.5 GHz Intel Core i3-4150 Processor, 8GB DDR3, 1TB HDD, Windows 8.1 with Ubuntu installed dual boot) is being used as the host.

Installation

For the most part, installation pretty easy. From an Ubuntu 14.04 PC 64 bit host computer, you simply download the JetPack software from the NVIDIA web link above (you’ll have to sign in with your developer account) and follow the instructions in the setup guide.

The set of tools that you can install is flexible. You have the option to install a cross compiler on the host for building your Jetson programs on your PC. Using the cross compiler you can build CUDA and GameWorks samples, then copy the sample binaries to the Jetson.

For the demo, I installed the cross compiler and built the samples. I thought they might be fun to play with at some point. You can see a couple of the CUDA samples in the video, along with a VisionWorks sample.

Installation from the demo host computer to the Jetson took about an hour all together, including all the downloads on a 30 MBs Internet link, flashing the Jetson, cross compiling the samples and then loading them onto the Jetson.

The one tricky bit in all of this is setting the Jetson into recovery mode. Follow the on-screen instructions to set the Jetson into recovery mode, open a Terminal, and then type:

$ lsusb

In the output you should see the Jetson listed as Nvidia. If you don’t see the Jetson using lsusb, then the device will not be flashed. Some people who have tried using virtual machines with JetPack have to use some tricks to allow for USB to see the device. Note: Some of the virtual machines just won’t work with JetPack.

Tools Available

Currently the Jetson TX1 uses L4T 23.1 (Jetson TK1 uses L4T 21.4). JetPack flashes the appropriate L4T to the Jetson. Here are some of the JetPack release highlights for the Jetson TX1:

  • Linux for Tegra r23.1
  • cuDNN 4.0 RC1
  • CUDA 7.0
  • Dynamic Component Manager with parallel downloads
  • Tegra System Profiler 2.5
  • Tegra Graphics Debugger 2.1
  • PerfKit 4.5
  • OpenCV4Tegra 2.4.12.3
  • NVIDIA GameWorks OpenGL Samples
  • VisionWorks

Developer Tools

  • Tegra Graphics Debugger
  • Tegra System Profiler
  • PerfKit

Do I have to have a Ubuntu PC?

The short answer is yes. You may be able to use a VM, but it is not officially supported. Here’s what NVIDIA wrote in the Jetson Forum:

The flashing must be performed from within 64-bit Linux on an x86-based machine. Running an Ubuntu 14.04 x86_64 image is highly-recommended for the flashing procedure. If you don’t already have a Linux desktop, and are trying to avoid setting up dual-boot, you can first try running Ubuntu from within a virtual machine. Although convenient, flashing from VM is technically unsupported — warning in advance that while flashing from within VM, you may encounter issues such as the flashing not completing or freezing during transfer. Chances will be improved if you remove any USB hubs or long cables in between your Jetson and the host machine.

The next logical step would be to boot your desktop/laptop machine off Ubuntu LiveCD or USB stick (using unetbootin tool or similar).

Finally, if you have an extra HDD partition, you can install Ubuntu as dual-boot alongside Windows. Flashing natively from within Ubuntu is the supported and recommended method for flashing successfully. It may be wise to just start in on dual-boot from the get-go, otherwise you may end up wasting more time trying to get the other (potentially more convenient, but unsupported) methods to work.

Conclusion

The first time through, setting up the system and flashing the Jetson can take around an hour or so depending on your download speeds. In the video, a simple cable modem 30MBs was used for downloading. Downloading all of the components only happens the first time you do an installation, subsequent installations check for updates and if none are available then simply flash the Jetson, saving a lot of time.

Facebook
Twitter
LinkedIn
Reddit
Email
Print

4 Responses

  1. The really good news is Jetpack 2.0 brings the VisionWorks SDK to the Jetson TK1.
    My TK1 runs the nvx_demo_feature_tracker sample program at ~25fps with a Logitech Quickcam Pro 9000 as the video source at a reported 1280×720 frame capture size.

  2. I have been having problems getting opencv VideoCapture class to open correctly both the onboard camera as well as another Logitech usb camera I plugged into the usb port. My first question , do you have an example that uses opencv for capturing camera frames that works? If not do you have a visionworks example that captures camera images from a usb camera?

Leave a Reply

Your email address will not be published. Required fields are marked *

Disclaimer

Some links here are affiliate links. If you purchase through these links I will receive a small commission at no additional cost to you. As an Amazon Associate, I earn from qualifying purchases.

Books, Ideas & Other Curiosities