JetPack 3.0 is a tool that installs the software tools and operating system for a Jetson Development Kit. In the following video, JetPack installs on a Jetson TX2 Development Kit. Looky here:
Note: Catherine Ordun has a quite wonderful blog post Setting up the TX2 using JetPack 3.2, which is basically an updated version of this article. Check it out!
JetPack 3.0 may be used to install the development tools on a Jetson Development Kit, either a Jetson TK1, TX1 or TX2. You can read more information on the JetPack web page. There’s a list of all of the System Requirements, as well as the different tools that can be installed.
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, an older Dell Inspiron 3000 Series i3847-3850BK Desktop (3.5 GHz Intel Core i3-4150 Processor, 8GB DDR3, 1TB HDD with Ubuntu installed) is being used as the host.
It’s that time again! When NVIDIA introduces a new Jetson model, they usually come out with a new revision of JetPack to support it. We are now on revision 3.
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 to download JetPack) 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 one of the deep learning examples in the video.
Installation from the demo host computer to the Jetson took about an hour fifteen 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:
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.
Note: On the Jetson TK1, the procedure to enter recovery mode is just slightly different. Refer to the installation manual for details.
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 TX2:
- Linux for Tegra r27.1 (Developers Preview)
- TensorRT 1.0
- cuDNN 5.1
- VisionWorks 1.6
- CUDA 8.0
- Multimedia API
- Tegra Graphics Debugger
- Tegra System Profiler
Each Jetson has its own L4T Version:
64-bit Ubuntu 16.04
Developer Preview Release
64-bit Ubuntu 16.04
32-bit Ubuntu 14.04
Do I have to have an 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.
Note also that Ubuntu 16.04 is not officially supported, but people have been reporting success using that OS. If you encounter issues, please ask questions on the Jetson & Embedded Systems development forums.
The first time through, setting up the system and flashing the Jetson can take around a little more than an hour or so depending on your download speeds and the speed of your PC. 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.
In the video, a recognizer in demonstrated. For newer version of JetPack (i.e. 3.2), the incantation is now:
$ cd ~/tegra_multimedia_api/samples/backend
$ ./backend 1 ../../data/Video/sample_outdoor_car_1080p_10fps.h264 H264 –trt-deployfile ../../data/Model/GoogleNet_one_class/GoogleNet_modified_oneClass_halfHD.prototxt –trt-modelfile ../../data/Model/GoogleNet_one_class/GoogleNet_modified_oneClass_halfHD.caffemodel –trt-forcefp32 0 –trt-proc-interval 1 -fps 10
As of the writing of this note, the current version of JetPack (3.2.1) may not install the demos. User Michael writes:
Hey Jim. I noticed a lot of people seem to have trouble finding the code snippet to run at the very end in your youtube comments. In the readme, it now directs you to a website developer.nvidia.com/embedded/downloads. It also tells you to install and extract the L4T Multimedia API Reference which you can do a quick find command for. Once you download it onto Jetson, extract it and open the link/file. It will open the browser to the documentation. Go to sample applications and backend and it will have all the commands including the new updated version of the command to run the sample.