Getting Started Guide for Jetson TX1

From RidgeRun Developer Wiki




Introduction

On this page, you are going to find all the necessary information to start from scratch to use the RidgeRun SDK on your Jetson TX1 module. The first section of this guide shows you how to get the RidgeRun EVAL SDK and Professional SDK, install the SDK, install Jetpack in your computer and how to configure a TFTP and NFS server. Subsequently, the second section contains instructions about how to configure the RidgeRun's SDK to create an SD card with all software components (uboot, kernel, and filesystem) needed to boot to Linux Shell in your Jetson Board. Finally, some links to GStreamer pipelines are provided.

Basic preliminary work

Please skip below two steps (2.1 and 2.2) in TOC and jump to 2.3 if you have purchased a Professional SDK.

Getting the RidgeRun's EVAL SDK Irazu

If you want to get the RidgeRun's EVAL SDK Irazu you need to go to our Evaluation SDK Download Link and select the Evaluation SDK you need. You will be asked for your email address and some information. Once you have submitted the required information you will receive an email with the following information:

The sequence of evaluation SDK download events:

You have to follow the steps below:

When you select and click on the name of evaluation SDK you want to download, shopping cart page will display with the price $0.00 (for eval sdk's)
-> click on 'Go to Checkout'. It will display 'Your Shopping Bag' page
-> click on 'Checkout'. You will get a form to enter your email id and other info
-> click on 'Continue'. It will display a 'Place Order' page
-> click on 'Place Order'. And then Please check your email with a link to download the tar file for the evaluation SDK you have selected.

Installing the EVAL SDK version

RidgeRun delivers the SDK in either two ways: a tar file for x86 platforms, or for customers with a established development relationship through a custom SCM (typically GIT) repository. If you are using a shared SCM repository, please contact RidgeRun for a detailed instructions.

System Requirements

Listed below are the minimum recommended requirements for installing and using the RidgeRun SDK:

  • A host computer with a 686 or better family processor
  • 1 GB free hard disk space
  • A Linux distribution configured on the host computer.
  • Target hardware for the SDK
  • Optional: a network card installed and configured on the host computer
  • Optional: Internet connection for SDK updates

Once you have downloaded the tar file of the evaluation SDK you can untar it by running the following command:

tar -xvzf <name of the tar file downloaded>.tar.gz 

You may find it convenient to untar the evaluation SDK more than once. For example, you might want one version to be unmodified and another version to be your working development directory. RidgeRun suggests you untar the SDK development directories in your $HOME/work/ directory. When you have more than one development directory installed, just remember to have the DEVDIR shell variable set properly. To set the DEVDIR shell variable use the `make env` command specified at RidgeRun_Irazu_SDK_User_Guide#Build_SDK

On the rest of this document, we refer as $DEVDIR to the path where the RidgeRun Eval SDK for Jetson TX1 is installed.

Installing the Professional SDK version

When all the purchase process is done, RidgeRun will provide you a GitHub repository access. For that, the GitHub user ID and other information might be requested. Once you provide that information, you must clone the given repository URL, using the next command:

git clone git@github.com:RidgeRun/<customer>.git

This would have the proper <customer> space modified. With this, you will have the SDK installed on the directory you were when executed the clone command.

RidgeRun suggests you install the SDK development directories in your $HOME/work/ directory. When you have more than one development directory installed, just remember to have the DEVDIR shell variable set properly. To set the DEVDIR shell variable use the `make env` command specified at RidgeRun_Irazu_SDK_User_Guide#Build_SDK

On the rest of this document, we refer as $DEVDIR to the path where the RidgeRun Professional SDK for Jetson TX1 is installed.

Installing Toolchains

RidgeRun recommended using the Linaro toolchain because it is newer and produces more optimized assembler code

1. Download the Linaro 64 bits toolchain. You need to install 64bits toolchain for ARM. In this case version 5.3-2016.02 will be used:


2. Download the Linaro 32 bits toolchain. You need to install 32bits toolchain for ARM. In this case version 5.3-2016.02 will be used:


3. Install the toolchains

sudo mkdir /opt/linaro
sudo chmod -R 775 /opt/linaro
sudo chown -R $USER /opt/linaro
cp gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu.tar.xz /opt/linaro
cp gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf.tar.xz /opt/linaro
cd /opt/linaro/
tar -xf gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu.tar.xz
tar -xf gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf.tar.xz

Installing Jetpack

1.Download JetPack for L4T 2.3 from https://developer.nvidia.com/embedded/downloads

2. Move binary into the installation directory, we recommend /home/$USER/JetPack-L4T-2.3

mkdir -p /home/$USER/JetPack-L4T-2.3
mv JetPack-L4T-2.3-linux-x64.run /home/$USER/JetPack-L4T-2.3/

1. Set the Jetpack binary as executable and set correct permissions.

cd /home/$USER/JetPack-L4T-2.3
chmod +x JetPack-L4T-2.3-linux-x64.run

2. Install Jetpack.

./JetPack-L4T-2.3-linux-x64.run

3. Press Next to start the installation.

jetpack-2_3-installation-01.png
Figure 1. Start installation


4. Select the Jetson TX1 Development Kit (64-bit).

jetpack-2_3-installation-03.png
Figure 2. Select development environment


5. RidgeRun recommends select standard installation.

jetpack-2_3-installation-06.png
Figure 3. Component manager


6. Wait until the installation will be completed (this may take a while).

jetpack-2_3-installation-10.png
Figure 4. Installation completed


Issue: JetPack installation under Ubuntu 16.04 64bit

As NVIDIA recommends Ubuntu 14.04 64bit for Jetpack installation, there is an error installing OpenCV under Ubuntu 16.04 64bit. You can disable it from Jetpack and continue installing it. The issue remains the same for Jetpack 2.3 and 2.3.1 versions.

Setting up serial access to the Linux console

You need the Serial Cable to access the board via USB on your computer. For this, find the expansion header (with a J21 label) and connect the serial cable jumpers as follows:

  • Jetson Pin 8 (TX) → Serial Cable RX
  • Jetson Pin 9 (GND) → Serial Cable GND
  • Jetson Pin 10 (RX) → Serial Cable TX

The same connections are represented in the picture below, and remember to connect the USB to your computer.

Jetson TX1 Serial Port Connection

Now you can use minicom or picocom to connect your computer by following one of these guides:

Setting Up Minicom
Setting Up Picocom

Setting up a TFTP server

If you are planning to use the SDK's installer to install images generated by the SDK in NAND, installing a TFTP server you will speed up downloads to the target hardware by using TFTP.

Setting Up A Tftp Service

Setting up an NFS server

For application development, it is convenient to use the root NFS mount file system for the target hardware. This allows you to rebuild your application on the host and immediately run the application on the target hardware with no intervening steps. Your host PC needs to be configured as an NFS server for this in order to work properly.

Setting Up A NFS Service

Setting Jetpack tools path into SDK

This section describes how to configure the Jetson TX1 SDK to access Jetpack tools. Jetson TX1 SDK access some tools of Jetpack, therefore installation Jetpack path needs to be provided.

1. Open a make config menu

make config

Running make config your SDK is going to download all basic packages needed by the SDK build system.

2. Set JetPack tools path: /home/$USER/JetPack-L4T-2.3/64_TX1/Linux_for_Tegra_64_tx1

Go to Proprietary software submenu and configure the JetPack tools path as is shown in Fig.1

tegraX1-jetson-sdk-v_1_0_0-jetpack.png
Figure 1. Configure JetPack path

Booting from a SD card

Configuring SDK to deploy kernel and filesystem to an SD card

This section describes how to configure the tegrax1-jetson's SDK to deploy all the components (kernel and file system) into a bootable SD card. The RidgeRun SDK support several filesystem types (SD, eMMC, and NFS) however in this case we are going to use it on the SD card as well.

1. Open a make config menu

make config

Running make config your SDK is going to download all basic packages needed by the SDK build system.

2. Go to File System Configuration submenu and configure your filesystem as is shown in Fig.1 and Fig.2

tegraX1-jetson-sdk-v_1_0_0-opt-fs.png
Figure 1. Main menu File System Configuration option


tegraX1-jetson-sdk-v_1_0_0-fs-menu.png
Figure 2. File System Configuration sub menu

3. Configure your file system target as is shown in Fig.3

tegraX1-jetson-sdk-v_1_0_0-fs-target.png
Figure 3. File system target


4. Go to Installer Configuration submenu and configure your destination SD device as is shown in Fig.4

tegraX1-jetson-sdk-v_1_0_0-ints-dev-mmc.png
Figure 4. Configure SD device‎

5. Compile your SDK

make

Installing SDK's kernel and filesystem to a SD card

Once you have built your SDK, you need to install it on the SD card running make install.

make install

You will be asked to confirm the device that you are going to partition and format, please enter y if it is correct. After this, the SDK will start to create a bootable SD card

Now you are ready to test your SDK booting from a SD card. One partition was created by the SDK: rootfs which contains the kernel, device tree file and filesystem.

You will be asked to confirm if you want to flash the Jetson TX1 board in order to set internally in the bootloader this SD filesystem mode. Please enter y if you want to flash the board.

Note: This procedure is not needed if it was already applied previously and if any another file system option was flashed previously.

Booting from emmc

Configuring SDK to install kernel and filesystem in emmc

This section describes how to configure the Jetson TX1 SDK to install all the components (kernel and file system) into the Jetson TX1 internal emmc card.

1. Open a make config menu

make config

Running make config your SDK is going to download all basic packages needed by the SDK build system.

2. Go to File System Configuration submenu and configure your filesystem target as is shown in Fig.1

tegraX1-jetson-sdk-v_1_0_0-fs-target-mmc.png
Figure 1. File System target options

3. Compile your SDK

make

Installing SDK's kernel and filesystem to a SD card

Once you have built your SDK, you need to install it on the emmc card running make install.

make install

You will be asked to confirm if you want to flash the Jetson TX1 board in order to flash the emmc card. Please enter y to continue with the process.

CUDA Demos

Using Gstreamer

Some GStreamer examples to implement basic multimedia pipelines can be found at Gstreamer pipelines for Tegra X1. If you require support creating a custom pipeline please don't hesitate to contact us

Articles related to this board

Jetson TX1 Auvidea
NVIDIA Jetson TX1 EVM
Gstreamer pipelines for Tegra X1
Compiling Tegra X1 source code
RidgeRun Professional SDK Irazu for Nvidia TegraX1 Release_Notes


For direct inquiries, please refer to the contact information available on our Contact page. Alternatively, you may complete and submit the form provided at the same link. We will respond to your request at our earliest opportunity.


Links to RidgeRun Resources and RidgeRun Artificial Intelligence Solutions can be found in the footer below.