Who is this for?

This is an advanced topic for embedded Linux developers familiar with Yocto and NVIDIA JetPack. You’ll build and flash custom images for NVIDIA Jetson Orin NX, Orin Nano, and Thor platforms.

What will you learn?

Upon completion of this Learning Path, you will be able to:

  • Explain how Yocto uses OpenEmbedded, BitBake, and layers to create custom Linux distributions
  • Provision a Google Axion C4A virtual machine for Yocto image builds
  • Build a custom Yocto image for a supported NVIDIA Jetson platform
  • Flash and run the Yocto image on the NVIDIA Jetson platform

Prerequisites

Before starting, you will need the following:

  • Basic proficiency with Linux shell commands, SSH, and file transfers
  • A Google Cloud account with permission and quota to create a c4a-standard-32 virtual machine
  • A supported NVIDIA Jetson platform
  • A computer running Ubuntu 22.04 or later with USB access for flashing the image

Summary

AI-assisted

This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
You’ll use a Google Cloud C4A virtual machine powered by Google Axion to build a custom Yocto-based NVIDIA JetPack image. You’ll configure the build with OpenEmbedded, BitBake, and target layers, then create a bundled flashing archive. Then, you’ll transfer the archive to a local Ubuntu host and flash it to a supported NVIDIA Jetson platform. After the device boots, you’ll explore the Matchbox desktop and verify the NVIDIA GPU drivers and Docker runtime.

Frequently asked questions

AI-assisted

These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
Which Google Cloud machine type should I use, and how do I verify it?
Use the c4a-standard-32 machine type, which provides 32 vCPUs and 128 GB of memory. In the Google Cloud console, confirm that Series is set to C4A and Machine type is set to c4a-standard-32.
What output should I expect after the Yocto build completes?
The build summary reports BUILD COMPLETE and lists the workspace, deploy directory, primary flashing image, and bundle archive paths. Confirm that the generated .tar.gz archive exists before continuing.
How do I transfer the build artifact from the C4A VM to my Ubuntu host?
Install the Google Cloud CLI on your Ubuntu host and authenticate with gcloud auth login. Then use gcloud compute scp to copy the bundled archive from the C4A VM to your host.
What do I need to install on my Ubuntu host before flashing?
Use Ubuntu 22.04 or later with USB access to the Jetson device. Install dtc, build-essential, gdisk, gptfdisk, udisks2, bmap-tools, libxml2-utils, zstd, tar, and usbutils before extracting and flashing the image.
How do I verify that the flashed Yocto image is working?
After the Matchbox desktop appears, open a terminal and run nvidia-smi and docker --version. Successful output confirms that the NVIDIA GPU drivers and Docker runtime are available.
Next