Jump to content

Quick Setup NVIDIA maintained Yocto integration

From RidgeRun Developer Wiki

Follow us on: YouTube Twitter LinkedIn Email Share this page

Share This Page

Preferred Partner Logo 3 Partner Program Banner



Quick Setup

This section prepares the development workspace required to build NVIDIA Jetson images using NVIDIA maintained Yocto integration.

The workspace includes the Yocto layer stack, build environment, local BSP mirror, configuration files, and tooling required to generate and deploy Jetson images.

This guide assumes a Linux based development host. Native Linux installations are recommended, but virtual machines, containers, and WSL based environments may also be used if they provide the required Yocto dependencies and USB access for flashing.

Follow these steps in order to initialize the workspace, prepare the NVIDIA local mirror, configure the target platform, and verify the build environment.

Step 1: Define Workspace Variables

Define the variables used throughout the setup:

export WORKSPACE=$HOME/jetson-yocto-workspace
export NVIDIA_MIRROR=$HOME/nvidia-mirror
export MACHINE=jetson-agx-orin-devkit

Variable overview:

  • WORKSPACE defines the root directory used for the Yocto workspace.
  • NVIDIA_MIRROR defines the local directory containing NVIDIA BSP assets and package feeds used during builds.
  • MACHINE selects the target Jetson platform configuration used by Yocto.

The selected MACHINE must match one of the supported machine definitions available in the workspace.

Please go back to check on the list of Supported Platforms.

These variables are used to keep the commands consistent across this guide. They are intended for the current shell session.

Step 2: Get the Workspace

There are two common ways to prepare the workspace.

Option 1: Use the provided demo distribution

If you have access to the provided demo distribution, clone it and enter the workspace:

git clone https://github.com/OE4T/tegra-demo-distro $WORKSPACE

cd $WORKSPACE

This option is the recommended starting point for this guide because it already includes the expected layer structure and project configuration.

Option 2: Create a basic Yocto workspace manually

If starting from a minimal setup, create a workspace by cloning Poky and adding the required Jetson layers manually:

mkdir -p $WORKSPACE

cd $WORKSPACE

git clone git://git.yoctoproject.org/poky

git clone https://github.com/OE4T/meta-tegra


This option is useful for developers who want to understand the lower level layer composition or build a custom distribution from scratch.

In both cases, the workspace is expected to contain:

  • Yocto core layers
  • NVIDIA BSP layers
  • Community extension layers
  • Project customization layers
  • Build configuration files

Step 3: Initialize Submodules

If the selected workspace uses Git submodules, synchronize all required Yocto layers:

cd $WORKSPACE

git submodule update --init --recursive

This step initializes the complete layer stack required by the build system.

It synchronizes the Yocto core metadata, BSP layers, community layers, and project components referenced by the workspace.

Step 4: Configure the Environment

Initialize the Yocto environment and select the target platform:

cd $WORKSPACE

. ./setup-env --machine $MACHINE

The setup-env script configures the Yocto build environment by:

  • Creating the build directory
  • Configuring the selected MACHINE
  • Initializing the BitBake environment
  • Generating build configuration files
  • Preparing the shell for builds

The generated build directory can be reused across development sessions, but the setup script must normally be sourced again when opening a new shell.

To list all available machines and setup options:

. ./setup-env --help

You can verify that the environment was initialized successfully by checking the active build directory:

echo $BUILDDIR

Step 5: Verify the Environment

Confirm that the environment was initialized correctly:

command -v bitbake

bitbake-layers show-layers

bitbake -e | grep '^MACHINE='

Expected results:

  • command -v bitbake should return the BitBake executable path.
  • bitbake-layers show-layers should display the initialized Yocto layer stack.
  • bitbake -e | grep '^MACHINE=' should show the selected target platform.

Example output:

MACHINE="jetson-agx-orin-devkit"

The displayed MACHINE value will vary depending on the platform selected during setup.

At this point, the workspace is ready to build Jetson images.

To build and deploy your first image, continue with the next pages.

Cookies help us deliver our services. By using our services, you agree to our use of cookies.