JetsonHacks

Developing on NVIDIA® Jetson™ for AI on the Edge

JetPack 3.0 – NVIDIA Jetson TX2 Development Kit

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 Information

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.

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, 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.

Installation

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:

$ 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.

Note: On the Jetson TK1, the procedure to enter recovery mode is just slightly different. Refer to the installation manual for details.

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 TX2:

  • Linux for Tegra r27.1 (Developers Preview)
  • TensorRT 1.0
  • cuDNN 5.1
  • VisionWorks 1.6
  • CUDA 8.0
  • Multimedia API

Developer Tools

  • Tegra Graphics Debugger
  • Tegra System Profiler
  • PerfKit

Each Jetson has its own L4T Version:

ProductL4T VersionNotes
Jetson TX2 27.1
NEW!
64-bit Ubuntu 16.04
Kernel 4.4
Developer Preview Release
Jetson TX1 24.2.1
Unchanged
64-bit Ubuntu 16.04
Kernel 3.10.96
Production Release
Jetson TK1 21.5
Unchanged
32-bit Ubuntu 14.04
Kernel 3.10.40
Production Release

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.

Conclusion

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.

Note

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

You can read more here: https://devtalk.nvidia.com/default/topic/1027789/jetson-tx2/jetsonhacks-car-video-detection-example-needs-update/

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.

Thanks Michael!

Facebook
Twitter
LinkedIn
Reddit
Email
Print

43 Responses

    1. The Jetson TX2 comes with an HD camera already installed. Selecting additional cameras is highly dependent on the intended application, so there is no general recommendation. This is mainly because there is such a range in quality and price that it is difficult to survey the entire market.

  1. I did not pay enough attention while doing the “install jetpack” thing and did not reboot after the flash (late night.) Do you guys think I need to start it all over?
    Just received the TX2 a couple days ago and it is connected to an Ubuntu machine. God, how I hate Ubuntu; much prefer Debian 9.
    Further, nVidia’s documentation sucks a huge one. The itty bitty instructo-card that comes in it is printed as black on dark brown. Who set THAT up?
    Further, for $600 (!!!) I want a BIG BOOK along with this hardware that is just a glorified RPi 3. Documentation for setting this puppy up is literally all over the place, with zero guidance on what to do when. If not for your scripts, kangalow, I’d be sending this thing back!

  2. I think you’re ok if you didn’t reboot after the flash. If it went and installed all the other libraries and samples afterwards, you’re ok. However, you might consider returning it if you don’t think it’s much more than an RPI 3. It doesn’t sound like it’s performance/value proposition matches your expectation, especially if you don’t plan on doing graphics or GPU programming. Thanks for reading!

    1. I DO plan on graphics and GPU programming, especially concerning the R200 (and R400 if it is released.) But dang, this thing is expensive not to have better documentation, easily laid out for a newbie.

    2. How can I tell if everything is installed? A lot of things flew by in the ssh window but I have no way of knowing (no documentation for it) if everything was insalled and it was ok. Further, I have no indications that anything installed on the host for cross-compiles, either.

  3. Also, the installation (terminal) window says, “Installation of target components finished, press Enter key to continue.” on the host computer. So I push Enter and I get a blank line but nothing else happens on the host.
    At the same time on the host, the “Jetpack L4T” graphics window shows “Post installation Jetson TX2” and has a list of stuff that will be installed and at the bottom, shows the usual “Back,” “Next,” and “Cancel” choices but the first two are grayed out. Is there something wrong here or can I just kill both these windows?

    1. There’s a bug in this build of JetPack at the end of the installation. If you hit the Enter key a bunch of times (like 6-10), it terminates. But it is finished with the installation at that point.

  4. Jim,

    Once the OS has been flashed , are any of the “extras” that you selected vital to the rest of the RACECAR software/drivers installation for the rest of the project (around 7:40 of your video)?

    I’m having several network issues and haven’t been able to determine the IP address my TX1 so far. I’m assuming that anything installed on the target after the OS is flashed ins’t crucial and i should be able to proceed with the rest of the RACECAR project as planned. Is that assumption correct?

    1. I’m not sure that assumption is correct. A couple of things that are installed in the second part of the installation are the CUDA libraries and OpenCV4Tegra. I’m not sure what is/isn’t needed, I only document what I’ve done. Good Luck!

  5. Hello.
    I watched your installation movie.
    Similarly, I also introduce JETPACK3.0 to my computer(OS Ubuntu 16.04).
    However, when starting installer, an install error occurs.
    I only install OS:ubuntu 16.04 to host PC.
    Other software (ex. CUDNN5.1, CUDA8) are not added to host PC.
    Please let me know how you are going to solve if you have good method.
    The following picture is screen-shot when the install error occurs.
    http://9.gigafile.nu/0624-c0d3f9b76102ca08651904ed3f0fd9ba3

    1. T_DeepMind, a couple of simple things come to mind, too. Maybe you got a bad download, so you might try downloading JetPack 3.0 again. And have you checked that you have enough disk space?

    2. Dear: kangalow-san, David-san

      Thank you for the prompt response and your advice.

      > I would guess the issue has something to do with a non English installation.
      Yes, I used non English installation ubuntu.
      Therefore, I have tried to English installation ubuntu.
      However, this problem was not solved.

      >And have you checked that you have enough disk space?
      As you say, the cause of this problem was my download directory.
      If English installation ubuntu of Japanese setting is used, this directory with double-byte character is generated.
      Jetpack installer does not correspond this directory.

      I was a minor mistake:_(
      I was able to install successfully !!

      Best regard

  6. Dear: kangalow-san, David-san

    Thank you for the prompt response and your advice.

    > I would guess the issue has something to do with a non English installation.
    Yes, I used non English installation ubuntu.
    Therefore, I have tried to English installation ubuntu.
    However, this problem was not solved.

    >And have you checked that you have enough disk space?
    As you say, the cause of this problem was my download directory.
    If English installation ubuntu of Japanese setting is used, this directory with double-byte character is generated.
    Jetpack installer does not correspond this directory.

    I was a minor mistake:_(
    I was able to install successfully !!

    Best regard

  7. I did the standard Jetpack 3.0 install on my TX2 (its working fine), but I’d like to know if it installed on the eMMC or SD Card? I only see /dev/mmcblk0 listed in Disks labeled as SD Card Reader, but everything I’ve seen said that the device is eMMC. The SD Card should be mmcblk1, but that does not exist in the /dev dir, so I can’t mount it. What’s going on?

  8. JetPack installs on the eMMC. It appears that Ubuntu is a little confused, it identifies flash memory like the eMMC as a SD Card. My guess is that the SD card needs to be formatted before it can be mounted. Thanks for reading!

  9. Yeah, they assume /dev/mmcblk1 exists, so just putting in an unformatted SD card shows up, but mine doesn’t. Looks like the SD reader device driver isn’t loaded, like not even connected, I’ll have to look into that.

    1. If you only install software on the Jetson, you do not need a GPU. If you cross compile on the host to build Jetson programs, you will probably need a NVIDIA GPU. Since I only develop on the Jetson, I don’t have any experience with host development. For a better in-depth answer for a specific host related development question, please visit the official NVIDIA Jetson Developer Forums: https://devtalk.nvidia.com/default/board/139/jetson-embedded-systems/

      There are a large number of developers and several NVIDIA engineers present on the forums. Thanks for reading!

    1. Thanks David. When I try to install JetPack on my host, I get a warning saying No NVIDIA GPU detected. The installation finishes successfully, but whenever I restart the host, I see the warning message again. So I uninstalled the package on this host. Any specifics you can share will be helpful, meaning which version of JetPack you used, which modules you enabled for installation? Thanks.

  10. I was mistaken. The CPU is AMD but the video card is a GTX 960. I apologize. (I have two computers of the AMD FX genre and the cases are identical.) Guess I’ll have to put a tag on each one so I don’t make that mistake again.

  11. Dear Kangalow!
    When i flash jetpack 3.0 on my jetson TX1,it stop in “Installation of target components finished , press Enter key to continue”.And it’s no use to press Enter.could you please tell my the reason,Thank you so much!

    1. It’s an issue with the installer. If you hit the Enter key 10 or 20 times, it eventually exits. However, at that point everything is installed on your Jetson so you should be good to go. Thanks for reading!

  12. Hello,
    I have a tegra jetson k1 , unfortunately I encountered a problem that consist of system firmware installation(Flashing,booting).The problem is, It always freeze when I tried to install firmware with jetpack 3.1

    According to above article, the reason is installing it on ubuntu 14.04 based Virtual Machine.Is there any solution to install it with VM ubuntu.I have no other choice to flash it.

    Thank you in advance

  13. What is the command that you run at the very end to start the video. The current jet pack I downloaded: 3.2.1, does not have the same readme file. Thanks!

    1. If you selected the multimedia api on the JetPack installation, you can try:

      $ 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

  14. 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.

    1. Hi Michael,
      Thank you for this. This is one of the frustrating parts of documenting this as we go along for everyone, each revision brings on different changes, each slightly different. This article is well over a year old so it’s not surprising that the demos have changed, but it’s a little frustrating for people on first introduction to the Jetson that they can’t find the demos. It’s frustrating on my side because there are a couple of hundred articles on here now, and there’s no good strategy for maintaining/updating existing articles (especially the videos) other than to say “That’s the way it worked on the day the article/video came out”. Thanks for reading!

  15. Dear Jim,

    We are working with the Jetson TX2 and the ZED camera. We are having difficulties with the ZED because although we have all the necessary connections and codes, we can’t get any visual output. We saw on your video about the ZED that there should be a file called ZED Explorer, however, we cannot find this file and we are a little confused as to what we should do about it. Do you know if there have been any changes in how the ZED runs?

    Thank you for all of your help, it is greatly appreciated!

    Sincerely,

    The Spike Project

    1. The ZED article on the TX2 is located here: https://wp.me/p7ZgI9-NA
      The latest supported JetPack Installer appears to be version 3.2. Which means that there may be issues with JetPack 3.3. Which version of JetPack are you running.
      The ZED downloads are here: https://www.stereolabs.com/developers/release/archives/
      When you use the ZED installer, the installer will direct you to input an install path. There is a default provided. Have you checked those directories. As I recall (it’s been a couple of months since I’ve used the sample files) the files are in the ‘tools’ directory.
      Depending on how you are utilizing your USB 3.0 connection, you may need to use a powered USB 3.0 hub. If you are using a USB 2.0 hub, there will be issues. The ZED is a USB 3.0 device.

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