Yocto Support

From RidgeRun Developer Wiki





Follow Us On Twitter LinkedIn Email Share this page



Preferred Partner Logo 3


Information in this section is based on the Toradex Embedded Linux documentation and the Yocto Project documentation.

Yocto Project Overview

The Yocto Project is an open-source collaboration that provides tools, templates, and methods for building custom Linux-based systems for embedded devices.

Yocto itself is not a Linux distribution. Instead, it provides a framework for creating custom embedded Linux distributions tailored for specific hardware platforms.

The Yocto build system is based on the OpenEmbedded build framework and uses BitBake as the build engine. Together, these tools allow developers to generate complete Linux images from source code, including the Linux kernel, bootloader, system libraries, and user-space applications.

Yocto Ecosystem for Verdin i.MX95

The Verdin i.MX95 platform support is built using several Yocto layers maintained by different organizations.

The main contributors are:

  • The Yocto Project community, which maintains the OpenEmbedded core infrastructure and build tools.
  • NXP, which provides support for the i.MX processor family.
  • Toradex, which provides board support packages (BSP) and integration layers for their System on Modules.

In Yocto, software components are organized into layers. Each layer contains metadata and recipes that define how software is fetched, configured, compiled, and packaged into the final Linux image.

Core Yocto Layers

The base layers of the Yocto Project provide the core build infrastructure.

poky

Poky is the reference distribution of the Yocto Project. It includes:

  • The OpenEmbedded build system
  • BitBake, the task execution engine
  • Core metadata used to generate Linux distributions

Poky provides a stable starting point for building embedded Linux systems.

meta-openembedded

meta-openembedded is a collection of community-maintained layers that provide additional packages, libraries, and development tools commonly used in embedded Linux systems.

These layers extend the functionality provided by the Yocto core layers.

NXP i.MX BSP Layers

NXP provides Yocto layers that enable support for i.MX processors.

meta-freescale

The meta-freescale layer provides hardware support and configurations for NXP i.MX processors. It includes:

  • Kernel recipes
  • Hardware support packages
  • Device tree support
  • Processor-specific configuration

meta-freescale-3rdparty

The meta-freescale-3rdparty layer adds support for third-party hardware platforms based on NXP i.MX processors.

meta-freescale-distro

This layer provides example distributions and image recipes designed for the development and evaluation of i.MX platforms.

Toradex BSP Layers

Toradex provides additional Yocto layers that integrate their System-on-Modules with the Yocto build system.

meta-toradex-bsp-common

This layer contains common board support configurations shared across Toradex modules.

It includes:

  • Common kernel configuration
  • Shared device tree components
  • Common hardware support code

meta-toradex-nxp

This layer provides hardware support for Toradex modules based on NXP processors, including the Verdin i.MX95.

It contains:

  • Machine configuration files
  • Kernel configuration
  • Bootloader integration
  • Device tree support
  • Hardware-specific drivers

meta-toradex-distro

This layer provides Toradex Linux distributions and reference images built on top of the Toradex BSP layers.

Toradex Manifest

Toradex provides a repo manifest called toradex-manifest which defines the set of Yocto layers required to build Toradex Linux distributions.

The manifest automatically downloads and configures all required repositories for building images using the OpenEmbedded build system.

This simplifies setting up the Yocto development environment for Toradex hardware.

Reference Images

Toradex provides two reference images that can be built using the Yocto build system. These images are intended for development, evaluation, and as starting points for custom Linux distributions.

Reference Minimal Image

A minimal Linux system that boots into a command-line interface and includes only essential services and utilities. The name used with bitbake is tdx-reference-minimal-image

Reference Multimedia Image

A feature-rich image that includes graphical support, multimedia frameworks, and development tools used to evaluate hardware acceleration capabilities. The name used with bitbake is tdx-reference-multimedia-image.

Torizon OS

In addition to the reference images, Toradex also provides Torizon OS, a Linux distribution built on top of the same Yocto BSP layers.

Torizon OS includes:

  • Container support for application deployment
  • OTA update capabilities
  • Integration with the Torizon development ecosystem

Development Workflow

Using Yocto for the Verdin i.MX95 typically involves the following steps:

  1. Setting up the host build environment.
  2. Downloading the required Yocto layers using the Toradex repo manifest.
  3. Configuring the build system for the target Verdin i.MX95 module.
  4. Building a Linux image using BitBake.
  5. Deploying the generated image to the target device.

The following sections describe how to set up the Yocto build environment and generate images for the Verdin i.MX95 platform.