Developing on NVIDIA® Jetson™ for AI on the Edge

NVIDIA Jetson TK1 – JetPack TK1 – Jetson TK1 Development Pack 1.0 Beta

Note: This article is information about an older version of JetPack. Please see JetPack 2.0 Install for an updated version.

One of the more intimidating tasks for newcomers to the Jetson TK1 is flashing operating systems and tools to the device. Because the Jetson is at its heart a development kit to be used by professional developers, it’s assumed that said developers are pretty comfortable with running relatively low level tasks like flashing from a host computer.

However, for the newcomer or developers that come from Macintosh or Windows backgrounds, this may not be the case. With that in mind, NVIDIA has introduced the 1.0 Beta version of the Jetson TK1 Development Pack, or JetPack TK1 (Note: Currently at version 1.0 with L4T r21.2 as of January, 2015). To see an example of an install and Jetson flash, looky here:

You can read more information on the Jetson TK1 Development Pack 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 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.

For the most part, installation is pretty easy. From an Ubuntu 12.04 or 14.04 PC 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, and includes Linux for Tegra (L4T) 21.1, CUDA 6.5, OpenCV as well as the Tegra System Profiler and PerfKit. Also, 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. I’m also interested in finding out more about the Tegra System Profiler and PerfKit.

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

If you’re flashing your Jetson for the first time, this is a good way to go! You won’t have to know a whole lot other than how to connect the cables and place the Jetson into ‘Recovery Mode’.

To place the Jetson into recovery mode, first make sure that the Jetson is off. Plug the mini USB plug that was provided with the Jetson into the mini USB connector, and the other end into your host computer. You then hold down the ‘Force Recovery’ button on the Jetson and power the Jetson on using the ‘Power’ button. Release the ‘Power’ button after the Jetson starts. I usually hold the ‘Force Recovery’ button for several seconds longer while the Jetson starts up before releasing it.

You can then check on the host computer to see if the Jetson is attached to via USB. Open a Terminal on the host, and execute:

$ lsusb

You should see the Jetson as ‘NVIDIA’.


19 Responses

  1. I’m trying to follow your steps. However I run the first command chmod +x But when I’m about to run it, two extra files appears with the name invalid encoding, any idea what am I missing?

    Thank you.

        1. I do not know what is wrong. Please post this in the Jetson forum (I’m user Kangalow there) so you have some more eyes on it. If no one can help there, please post a bug with NVIDIA. Note that JetPack is still Beta software, and may have issues. However, you should be able set the .run file as executable using the file properties dialog. Note that the official NVIDIA instructions are here:

        1. I solved the problem, I had a 32 bit operating system, and I reinstalled it on 64 bit, then everything is OK.

          1. That’s great news! I’m sure actually working with the Jetson will be much easier than this whole flashing process has been. I think the default on standard PCs these days is to install 64 bit Ubuntu (I know that’s what I did) so I would guess that a relatively small percentage of people see this issue. Anyway, congratulations and have fun working with the Jetson!

          1. but i try to build TK1 kernel , the source code need to compile on 32 bit. because the crosstool-ng can’t support 64 bit.

            may i right?

Leave a Reply

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


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