Getting started with a new TX2?

I’m finding it surprisingly difficult to get myself oriented with this kit. I just got a TX2 dev kit. It came installed with Ubuntu, booted to a console, and had an installer sitting in the nvidia user directory.

I ran that, and rebooted, and it came up to an Ubuntu desktop.

Okay, now what? There appear to be no examples installed. There were no further obvious steps in the supplied Getting Started materials.

Poking around the developer site (something that’s hard to do directly from the TX2 board, since it has no browser installed), it seems I need to download Jetpack to a host machine. But all the steps/tutorials around that seem a) to have been written before the TX2 came out, as they reference the TX1, and b) call for flashing the TX2 (and thus requiring a USB connection).

I would have hoped the TX2 out of the box was set with the latest (there seems to be nothing newer than the first release for TX2). So, I’m reluctant to go through all of the effort of completely re-flashing my TX2, since I feel like it’s probably already there.

Is there any resource that tells me how to go from out of the box to actually running some example code that does something to demonstrate the power of this device?


Some terminology and tool information may be of use. Each Jetson arrives with “Linux for Tegra”…this is just Ubuntu with NVIDIA hardware accelerated drivers on top of it. The sample rootfs is purely Ubuntu, the proprietary hardware accelerated files are separate and are either added during flash or by the end user through the installer you mentioned. Any documentation on Ubuntu is perfectly valid even when the o/s is called “L4T”.

The L4T version a TX2 ships with would be R27.0.1 (unless something has changed which I’m not aware of). Currently L4T R28.1 is available. You can see the L4T release version with:

head -n 1 /etc/nv_tegra_release

For the current L4T see:

You can validate if the hardware accelerated drivers are correctly in place via:

sha1sum -c /etc/nv_tegra_release

Since no Ubuntu system ships with all of the options installed it is normal and customary that the end user be the one to install those options (e.g., what if CUDA samples were added to every Ubuntu distribution? Or if OpenCV were installed by default on every desktop PC?). On a PC you have far more disk space, and you will find all kinds of driver modules and other software installed which would never be added to an embedded system. Despite a Jetson being as powerful as some desktop PCs it really is an embedded device with limited resources. You have the usual array of Ubuntu packages through the apt/dpkg package manager tools, but software specific to the embedded Jetson which is specific to NVIDIA hardware is handled through JetPack.

Flashing a Jetson is done through the driver package plus sample rootfs after the command for putting NVIDIA-specific drivers onto the sample rootfs is complete. This works with any x86_64 Linux desktop PC. JetPack is a front end to this flash software, and then adds all kinds of extra package management in addition to flashing. You don’t need to flash to use JetPack to manage packages. If you do use JetPack, then the PC should run Ubuntu 14.04 or 16.04 (only 14.04 is officially supported…JetPack also puts cross platform development tools on the PC host and some of those packages don’t work on 16.04…many do work on 16.04).

Flashing is done over the micro-B USB cable provided with the dev kit. Package management is done over the wired ethernet (don’t use WiFi). The two steps are independent. You could flash on command line with driver package plus sample rootfs and then manage packages with JetPack if you like.

It is highly unlikely you will be satisfied with the original R27.0.1 L4T. The current L4T release version is R28.1. R28.1 is the first release which has a common unified sample rootfs for both the TX1 and TX2. JetPack can work with both (currently JetPack version is at 3.1). You will find this same JetPack front end is valid for TX1 and TX2. The correct software is downloaded when needed after checking options.

Should you choose to flash (and I highly recommend doing so) you’ll want plenty of disk space on the PC host…perhaps 35GB or 40GB after JetPack and/or the driver package+sample rootfs are installed to the host. I also suggest just flash first, then reboot and restart and only then tell JetPack to add packages…uncheck flashing and do only package management. This should have example code for both host and Jetson and includes some cross compile software on the PC.

(something that’s hard to do directly from the TX2 board, since it has no browser installed)

Rmann, thanks for your question. I felt exactly the same way.
This is a bit off topic, but you mentioned it, and I found the answer…
I just found out that chromium-browser comes with the on board TX2, so at least that will help you get connected directly.

From the Terminal:
$ /usr/bin/chromium-browser

If its not installed use: “$ sudo apt-get install chromium-browser -y”

For a desktop icon to launch the browser:
I cut my teeth on unix, so I am new to this too, but I found a way:
Find any .desktop file, copy it, rename it to browser.desktop.
Then $ gedit browser.desktop and change the path to /usr/bin/chromium-browser.
Make sure to “chmod -x browser.desktop” so make it executable.

I placed browser.desktop right on my Ubuntu Desktop. I now have a browser that launches from a click of an icon.

If there is a simpler way to add functional icons onto a desktop, I cannot find it.
Right Click make Desktop Icon would be a great addition to Gnome desktop, frankly.

Hope this helped.

The chmod would be “+x” instead of “-x”.

Lol, of course :)