Yocto Support for NVIDIA Jetson Platforms - Setting up Yocto
![]() |
Yocto Support for NVIDIA®Jetson™ |
---|
![]() |
Setting up Yocto |
Flashing Jetson Platform |
Accessing the Board |
Adding NVIDIA Packages |
DeepStream |
Additional Topics |
FAQ |
Contact Us |
Contents
Note: The goal of this wiki guide is to provide the instructions to configure, build, and install Yocto in NVIDIA platforms based in previous experience of the RidgeRun engineers. We hope this provides some light to new people using Yocto in Jetson. The tutorial uses the meta-tegra layer for Yocto. Please note that the Yocto community also has a tutorial here and they do a really good job keeping it updated. If you face any problem please recall to check the Yocto community tutorial as well.
Select your Machine
You can apply the instructions in this wiki for multiple devices, so, whenever you see <MACHINE>, replace it (with the <> symbols included) with your target platform. Below you will find the possible <MACHINE> substitutions.
Device | <MACHINE> | |||
---|---|---|---|---|
TX1 | jetson-tx1-devkit | |||
TX2 | jetson-tx2-devkit | jetson-tx2-devkit-tx2i | jetson-tx2-devkit-4gb* | |
XAVIER | jetson-agx-xavier-devkit | |||
NANO | jetson-nano-devkit | jetson-nano-devkit-emmc | jetson-nano-2gb-devkit* | |
XAVIER NX | jetson-xavier-nx-devkit* | jetson-xavier-nx-devkit-emmc* | jetson-xavier-nx-devkit-tx2-nx* | |
ORIN | jetson-agx-orin-devkit | |||
Note: the machines with * have NOT been tested by RidgeRun yet |
Install Yocto Dependencies
1. Use the following command to install Yocto dependencies on Ubuntu.
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev xterm
2. Create a working directory for Yocto
YOCTO_DIR=/home/$USER/yocto-tegra
mkdir $YOCTO_DIR
3. Select the latest stable branch (as per May 2020)
export BRANCH="dunfell"
![]() | NOTE: For ORIN support you may need to use the master branch for poky repository and wip-jetpack-5-dp branch for meta-tegra repository. |
4. Download Yocto's Poky base meta-layer
cd $YOCTO_DIR
git clone -b ${BRANCH} git://git.yoctoproject.org/poky.git poky
5. Download meta-tegra (contains L4T 32.6.1 as per March 2022)
git clone -b ${BRANCH} https://github.com/OE4T/meta-tegra.git
Compile Yocto image
1. Initialize the build environment
cd $YOCTO_DIR
source poky/oe-init-build-env build
2. Setup the required settings
local.conf
- Open the file $YOCTO_DIR/build/conf/local.conf with your favorite text editor and append the following lines to the end of the file.
- Setup the SSTATE and DOWNLOADS directories with a custom path to avoid re-downloading and re-compiling in the future.
- Add the name of your target platform <MACHINE>.
- Set IMAGE_CLASSES and IMAGE_FSTYPES to easily flash the target board.
![]() | Note: Replace <MACHINE> with your selected machine (don't delete the quotes ""). |
MACHINE ?= "<MACHINE>"
DISTRO_FEATURES = "x11 opengl "
IMAGE_CLASSES += "image_types_tegra"
IMAGE_FSTYPES = "tegraflash"
SSTATE_DIR ?= "/home/${USER}/Yocto/sstate_dir"
DL_DIR ?= "/home/${USER}/Yocto/downloads"
Optional: By default, Yocto uses all the available cores and threads of the computer. If you want to limit the resources used on the build, you can add the following lines to your $YOCTO_DIR/build/conf/local.conf file. Change the parameters according to your needs and to your host machine specification.
BB_NUMBER_THREADS = '6'
PARALLEL_MAKE = '-j6'
bblayers.conf
Open the file $YOCTO_DIR/build/conf/bblayers.conf with your favorite text editor and add the meta-tegra layer to the build/conf/bblayers.conf file to load the provided recipes:
BBLAYERS ?= " \
/home/${USER}/yocto-tegra/meta-tegra \
/home/${USER}/yocto-tegra/poky/meta \
/home/${USER}/yocto-tegra/poky/meta-poky \
/home/${USER}/yocto-tegra/poky/meta-yocto-bsp \
"
3. Build the image
Use an image with developer tools such as GStreamer, NVIDIA plugins, etc
bitbake core-image-sato-dev
Or you can choose a different image from the following table
<IMAGE> | ||
---|---|---|
core-image-sato-dev | ||
core-image-weston | ||
core-image-base |
Legacy instructions
Please visit the following links for older versions of Jetpack.