JetsonHacks

Developing on NVIDIA® Jetson™ for AI on the Edge

JetPack 2.0 – NVIDIA Jetson Development Pack – Jetson TK1

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 TK1 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. This is the same program that was used in an earlier article to flash a Jetson TX1 Development Kit, the procedure is the same. Just make sure to select ‘TK1’ as the device type to be flashed.

Note

In addition to the Jetson TK1, 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 TK1 uses L4T 21.4. JetPack flashes the appropriate L4T to the Jetson. Here are some of the JetPack release highlights for the Jetson TK1:

  • Linux for Tegra r21.4
  • cuDNN 2.0
  • CUDA 6.5
  • Dynamic Component Manager with parallel downloads
  • Tegra System Profiler 2.5
  • Tegra Graphics Debugger 2.1
  • PerfKit 4.5
  • OpenCV4Tegra
  • 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

20 Responses

  1. Hello Jim,

    I’m a master student with almost no experience using linux/ubuntu, for my master’s thesis I have the task of setting up a Jetson TK1 so that I can cross-compile from my laptop. The Jetson is connected to a router through an ethernet cable and so is my PC (Wi-Fi). I’ve been handed the Jetson and professors have no way to help me with this task since all previous works were written, compiled and executed on the Jetson.

    I have tried to follow two blogs that Nvidia has for setting up this remote cross-compilation, but i have failed. The main reason is, I think, the blogs target a community with experience using Ubuntu.

    Since I have not found more information on the net I tried opening a topic in Nvidia’s forum, so far no replies. Maybe it is not directly related to the purpose of this website, but I would really appreciate an article regarding this topic or a link to information that can walk me through.

    Kind regards.

    1. Hi Carlos,
      I’m sorry, I don’t have any experience using the cross compiler. However, here is a good article:
      http://devblogs.nvidia.com/parallelforall/nvidia-nsight-eclipse-edition-for-jetson-tk1/
      from a while back. JetPack will install most of the tools for you on your Ubuntu host, so you might try running Nsight and see what you are missing.
      The major differences since the article was written are that CUDA is now version 6.5 versus 6.0 and L4T is now version 21.4 versus 19.3.
      Sorry I can’t be of more help on this.

  2. Thank you for the haste with the reply. I’ll keep working on it until I get the desired results. Again, I appreciate the reply.

  3. Hi Jim,
    So I’ve flashed the TK1 from 3 different machines and I get the same result, No matter what I select as the device it always asks for the username and IP of the TX1 so I have to cancel it and rerun the install select the tk1 again and then it will go through, it only does it on the first try, it never completes the process after the tk1 reboots, everything appears to go correctly the Flash itself seems to work and then it reboots and starts copying files over, everything seems to go well and then it gets to Mandelbrot_gold.h 100%
    next line is readme.txt and then I get
    rm: cannot remove ‘cpdAdvancedQuicksort”: No such file or directory
    it does this the same for 4 more directories and then say’s
    Now running matrixMul Sample…
    bash: NVIDIA_CUDA-6.5_Samples/bin/arm7l/Linux/release/matrixMul: no such file or directory
    Please press enter key to continue
    everything else seems to work but I don’t know what else I’m missing
    I’m not sure what would have come next because when I hit enter it just exits out and closes the window and I’m sitting there with the network window up and the install process still sitting there waiting like I should select next again and start over.
    any Ideas on how I can trouble shoot this I’m fairly new at Linux ? I did take screenshots of the errors but it won’t let me post them here in the comments…

  4. Machine 1 – both the TK1 and the host are hard wired to the same 4 port switch on a standard Cable Modem/Router.

    Machine 2 was a standard acer laptop – Wireless connection, TK1 was still connected to the router.

    Machine 3 was a VMWare Virtual Ubuntu 14.04

    All 3 Failed in the same way and in the same place, I have tried re-downloading jetpack 2.0 didn’t help…

    1. I’m just curious, did you try giving it the IP address and credentials of the TK1 when asked for the TX1? It could be that there is a mislabeled dialog box, being a new program and all.

      In any case, it sounds like there is a bug there. You should report it to NVIDIA. Also, you should ask the question in the NVIDIA dev forum https://devtalk.nvidia.com/default/board/162/jetson-tk1/ as someone else might have encountered that issue. Unfortunately I haven’t seen it, so I’m not of much help. Also, I know that NVIDIA employees lurk there to gather the issues like these.

    2. why don’t you try following the instructions, as they are written, first, before doing something else, suggested nowhere 3 times, then seeking help?
      Connect the tk1 to the host Ubuntu 14.04 pc (only), not vm, not 16.nutz, WITH MICRO USB (capable of data like one that comes with tk1 as cheap micro usb sometimes doesnt work) from PC to tk1, THEN BOOT TK1 INTO RECOVERY, ETC ETC Im not going to waste anymore time transcribing something a “Doctoral student” should be capable of reading themselves…. This is the max of my available generosity and/or patience (and unusual… I must’ve been really desperate for any excuse to procrastinate a little longer before returning to my own burden upon my shoulder alone…
      goodluck

  5. I will post something to the NVidia forums, I also wanted to thank you for all your hard work and efforts, I’m going to try a new install completely from scratch in the morning( formatted and reinstalled the laptop ) and I’ll do the BOT and ROC installs and see how it works out.. Again thank you I’m learning a lot and I appreciate everything you’ve done with this project!

  6. When I flash anything to my jetson I am ALWAYS wired to the jetson with the USB cable and I never have a problem. I understand that you might be able to flash it other ways, but if you are NOT using the USB I suggest you try it that way and let us know if you are still having problems.

  7. Hello,
    im trying to install Jetpack 2.1 on my Jetson TK1, I first had a problem with Dependencies

    package libstdc++6-armhf-cross 4.8.2-16ubuntu4cross0.11 failed to install/upgrade: trying to overwrite ‘/usr/share/gcc-4.8/python/libstdcxx/__init__.py’, which is also in package libstdc++6:i386 4.8.4-2ubuntu1~14.04.1

    and was able to fix it with

    $ sudo apt-get -o Dpkg::Options::=”–force-overwrite” install -f

    My problem is now not being able to install CUDA toolkit. the error log looks is down. Can you please help? I’ve been trying for 2 days straight now.

    Err http://archive.ubuntu.com trusty-updates/main armhf Packages
    404 Not Found [IP: 91.189.91.23 80]
    Err http://archive.ubuntu.com trusty-updates/restricted armhf Packages
    404 Not Found [IP: 91.189.91.23 80]
    Err http://archive.ubuntu.com trusty-updates/universe armhf Packages
    404 Not Found [IP: 91.189.91.23 80]
    Err http://archive.ubuntu.com trusty-updates/multiverse armhf Packages
    404 Not Found [IP: 91.189.91.23 80]
    Err http://archive.ubuntu.com trusty/main armhf Packages
    404 Not Found [IP: 91.189.91.23 80]
    Err http://archive.ubuntu.com trusty/restricted armhf Packages
    404 Not Found [IP: 91.189.91.23 80]
    Err http://archive.ubuntu.com trusty/universe armhf Packages
    404 Not Found [IP: 91.189.91.23 80]
    Err http://archive.ubuntu.com trusty/multiverse armhf Packages
    404 Not Found [IP: 91.189.91.23 80]
    Ign http://archive.ubuntu.com trusty/main Translation-en_US
    Ign http://archive.ubuntu.com trusty/multiverse Translation-en_US
    Ign http://archive.ubuntu.com trusty/restricted Translation-en_US
    Ign http://archive.ubuntu.com trusty/universe Translation-en_US
    Fetched 2.430 kB in 14s (167 kB/s)
    W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/trusty-security/main/binary-armhf/Packages 404 Not Found [IP: 91.189.91.14 80]

    W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/trusty-security/restricted/binary-armhf/Packages 404 Not Found [IP: 91.189.91.14 80]

    W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/trusty-security/universe/binary-armhf/Packages 404 Not Found [IP: 91.189.91.14 80]

    W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/trusty-security/multiverse/binary-armhf/Packages 404 Not Found [IP: 91.189.91.14 80]

    W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/binary-armhf/Packages 404 Not Found [IP: 91.189.91.23 80]

    W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/restricted/binary-armhf/Packages 404 Not Found [IP: 91.189.91.23 80]

    W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/universe/binary-armhf/Packages 404 Not Found [IP: 91.189.91.23 80]

    W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/multiverse/binary-armhf/Packages 404 Not Found [IP: 91.189.91.23 80]

    W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/main/binary-armhf/Packages 404 Not Found [IP: 91.189.91.23 80]

    W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/restricted/binary-armhf/Packages 404 Not Found [IP: 91.189.91.23 80]

    W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/universe/binary-armhf/Packages 404 Not Found [IP: 91.189.91.23 80]

    W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/multiverse/binary-armhf/Packages 404 Not Found [IP: 91.189.91.23 80]

    E: Some index files failed to download. They have been ignored, or old ones used instead.
    Reading package lists…
    Building dependency tree…
    Reading state information…
    Package cuda-toolkit-6-5 is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source

    E: Package ‘cuda-toolkit-6-5’ has no installation candidate
    E: Unable to locate package cuda-cross-armhf-6-5

      1. im running a native Ubuntu 14.04 amd64. JetPack 2.0 worked normally a couple of months back. Thanks for responding so fast!

          1. the problem is that it’s searching for armhf packages in Ubuntu archive servers, but those servers only have amd64 and i386. As far as i know armhf is in ports servers.

          2. I apologize, I don’t have much experience with that issue. In any case, report it to the Jetson forum so that hopefully someone can help you with the problem, and anyone else who experiences it will be able to find it.

  8. Hi ,
    I recently flashed the latest version of Jetpack on Jetson TK1 and the flashing was done successfully.However I had some issues with my stereo camera not working when I tried to run an opencv program on it. Got a HIGHGUI error: Pixel format of incoming image is unsupported by Opencv. So I thought it had something to do with the Opencv4tegra and ended up uninstalling opencv4tegra.I tired to install opencv 3.0 but I am getting errors when I get to the cmake part. Is there a way to reinstall opencv4tegra without having to flash the jetson again?

    1. As I recall, you can use JetPack to install just OpenCV4Tegra again. You will need to disable all of the other things it is trying to install, things like flash the image and so on. You may be able to find the actual .deb file for OpenCV4Tegra on the host, copy it to the Jetson, and then install it. However, I think JetPack is the safest bet. If you have any trouble, you should ask on the official NVIDIA Jetson TK1 board where a large group of developers and NVIDIA engineers can share their experience. The forum is located at: https://devtalk.nvidia.com/default/board/162/jetson-tk1/

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