Inside the NVIDIA Yocto Layers
Jetson Yocto Build System Architecture
This section describes how the NVIDIA Jetson Yocto stack is organized and how the different layers and components interact during image generation and deployment.
The build system combines Yocto core infrastructure, community maintained extensions, NVIDIA platform integration layers, and project specific customization into a structured build environment.
Understanding this architecture makes it easier to identify where platform support, multimedia integration, device tree customization, and project specific features belong within the overall system.
High Level Architecture
The Jetson Yocto environment is organized as a layered build system where each layer contributes a specific responsibility during image generation and deployment.
The Jetson Yocto stack is organized as multiple layers that build on top of each other.
1 - Yocto Core
Yocto Core provides the infrastructure used to resolve recipes, configure packages, generate images, and manage the embedded Linux build process.
Typical components include:
bitbakepokyopenembedded-core
This layer acts as the foundation of the complete build environment.
2 - Community Layers
Community layers extend the Yocto core with reusable open source functionality and middleware integration.
Common examples include:
meta-openembeddedmeta-networkingmeta-virtualization
These layers provide additional packages, middleware, networking functionality, containers, and developer tooling commonly used in embedded Linux systems.
3 - NVIDIA Platform Layers
The NVIDIA platform layers provide the hardware configuration and platform integration required to boot and run Jetson systems.
This includes:
- Kernel integration
- Firmware and bootloader support
- Device tree integration
- Flashing support
- Multimedia acceleration components
- Platform specific configuration
These layers provide the low level software integration required for Jetson hardware enablement.
4 - Project Layers
Project layers adapt the platform to product specific requirements.
Typical customization includes:
- Image recipes
- Package groups
- Runtime configuration
- Device tree overlays
- Custom device driver integration
- Platform validation utilities
This separation allows project customization to evolve independently from the base platform integration.
Major Changes in the New NVIDIA meta-tegra Release
Although several platform components were updated as part of the transition to L4T R39, NVIDIA intentionally preserved the overall meta-tegra layer functionality. Existing build structures, BitBake usage, layer organization, and image generation processes remain largely familiar, allowing developers and customers to migrate toward newer Jetson platforms without requiring major architectural changes in their existing projects.
That said, one of the first noticeable changes in the newer NVIDIA Jetson Yocto layer is the transition from the public meta-tegra integration based on L4T 36.5.0 toward the newer L4T 39.0.0 release. This update introduces multiple new platform features, updated components, and additional recipes across the layer.
Version Comparison
The following table summarizes some of the most relevant platform component updates introduced as part of the transition from the previous community-maintained meta-tegra integration toward the newer NVIDIA-maintained release.
| Component | Previous community meta-tegra
|
New NVIDIA meta-tegra
|
|---|---|---|
| L4T Version | 36.5.0 | 39.0.0 |
| CUDA | 12.6 | 13.2 |
| OP-TEE | 4.2-l4t | 4.6-l4t |
| Yocto Compatibility | wrynose
|
whinlatter + wrynose
|
| Kernel Provider | linux-jammy-nvidia-tegra
|
linux-noble-nvidia-tegra
|
New Components and Platform Changes in L4T R39
The following table summarizes major platform components introduced or updated in the newer NVIDIA integration stack.
| Component | Related Recipe(s) | Description |
|---|---|---|
| Hafnium Hypervisor | hafnium-prebuilt_39.0.0.bb, hafnium_2.11-l4t-r39.0.0.bb
|
Adds Hafnium hypervisor support for newer platforms such as tegra264.
|
| RCM Boot UEFI Support | edk2-firmware-tegra-rcmboot-prebuilt_39.0.0.bb
|
Provides prebuilt UEFI firmware components required for RCM boot support. |
| StandaloneMM Support | edk2-nvidia-standalone-mm-prebuilt_39.0.0.bb
|
Adds StandaloneMM support for UEFI secure variable handling and secure boot integration. |
| Target-Side Flash Utilities | adb-prebuilt_39.0.0.bb, tegra-target-flash-scripts_39.0.0.bb
|
Adds utilities and helper scripts used for initrd assisted flashing and target side deployment support. |
| Ada Runtime Libraries | tegra-libraries-adaruntime_39.0.0.bb
|
Provides Ada runtime libraries (libgnat / libgnarl) required by newer platform components.
|
| Video Codec Integration | tegra-libraries-video-codec_39.0.0.bb
|
Adds updated multimedia codec components used by tegra264 platforms.
|
| Updated PVA SDK | pva-sdk_2.9.0.bb
|
Replaces the older cupva integration with the newer PVA SDK implementation.
|
| Android Boot Image Utilities | abootimg_git.bb
|
Adds tooling for generating and manipulating Android boot image formats. |
Refactored or Removed Components
Several existing platform components were reorganized or removed as part of the newer platform architecture.
| Previous Component | New Component / Status | Description |
|---|---|---|
tegra-flashtools-native
|
tegra-flashtools + tegra-helper-scripts
|
Flash tooling was reorganized into separate components instead of relying on a single native only package. |
tegra-helper-scripts-native
|
tegra-helper-scripts
|
Helper scripts now use BBCLASSEXTEND to support both native and nativesdk environments.
|
tegra-nvphs
|
Removed | No longer included in MACHINE_EXTRA_RDEPENDS.
|
tegra-nvs-service
|
Removed | No longer included in MACHINE_EXTRA_RDEPENDS.
|
cupva
|
pva-sdk
|
The older PVA integration was replaced with the newer PVA SDK stack. |
gcc-for-nvcc
|
Removed | The previous CUDA cross compilation dependency handling is no longer present in the newer stack. |