Quick Setup NVIDIA maintained Yocto integration
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:
WORKSPACEdefines the root directory used for the Yocto workspace.NVIDIA_MIRRORdefines the local directory containing NVIDIA BSP assets and package feeds used during builds.MACHINEselects 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 bitbakeshould return the BitBake executable path.bitbake-layers show-layersshould 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.