Search by Tags

BSP Layers and Reference Images for Yocto Project Software

 

  • Logo Linux

    Logo Linux

Introduction

You should read our page for the BSP Layers and Reference Images for the Yocto Project on the main Toradex website before reading this article.

Linux, developed as an open source operating system for IBM computers, was ported to Arm in the early days. Today, Linux holds a significant market share in the embedded world, mainly on Arm devices. The advantages over proprietary embedded operating systems include no royalties or licensing fees, a stable kernel, a vast number of tested drivers, a support base that is not restricted to the employees of a single software company, and the ability to modify and redistribute the source code.

Toradex provides embedded Linux BSPs (Board Support Packages) and reference images for all our current computer on modules. Those BSPs are provided by an in-house development team working side-by-side with the hardware team. This enables us to provide a high-quality Linux port. When it comes to solving issues, the customer can rest assured that they will not be the play ball between different hardware and software providers.

The Yocto Project and OpenEmbedded

Toradex provides and supports Embedded Linux BSPs based on the Yocto Project/OpenEmbedded. We maintain our production-quality OpenEmbedded BSPs and reference distribution layers, meant as a great starting point for our customers. Learn more about the relationship between Toradex and the Yocto Project/OpenEmbedded:

Embedded Linux Offerings

Toradex provides two options for embedded Linux development. Our main website presents the offerings, and our developer website has pages used as entry point for related technical articles:


  • Relationship between TorizonCore, BSP Layers and Reference Images

    Relationship between TorizonCore, BSP Layers and Reference Images

While TorizonCore and the Reference Images are built on top of the BSP layers, they have fundamental differences. Learn more about them in our Embedded Linux page on the main Toradex website.

This page focuses on the Toradex BSP Layers and Reference Images for Yocto Project. For Torizon, please refer to the Torizon software page.

Releases

Toradex defines a release cycle for the BSP Layers, Reference Images for Yocto Project and TorizonCore.

  • Nightly
  • Monthly
  • Quarterly
  • LTS (every 12 months)

Which Release Cycle Should I Use?

To learn more about them and which one you should choose, read our support strategy:

Active Releases

The currently active releases are:

Release Roadmap

The release roadmap is available on our main website:

Release Notes

The BSP Layers And Reference Images for Yocto Project Release Notes contains a list of new features and bug-fixes that are planed, and also known issues and limitations.

The rest of this page is split in tabs for each release. Choose the one you are interested at from the tabs below:

BSP Layers and Reference Images for Yocto Project 5

Toradex provides BSP Layers and Reference Images for Yocto Project.
They are:

  • A fast and reliable starting point for you to create your own distribution.
  • Production-grade quality.

They are not:

  • Ready to be used in a production environment without further customization.

Toradex provides binary images of the Reference Images for Yocto Project for your convenience and ease-of-use during your first steps with Toradex hardware. Nevertheless, if you want something that is ready to be used in production, learn more about the differences between the Reference Images for Yocto Project and Torizon and consider starting with Torizon.

Distributions

Toradex provides a distribution based on Poky. We provide distro variants for different kernel configurations, summarized in the table below. Even though all distributions set the policy for the graphics stack, for example Weston/Wayland + XWayland, they must be used for building console-only images. If you want to know exactly what is defined for each distro, follow the links as they point to the relevant Yocto configuration files.

Distro kernel base kernel config
tdx-xwayland Downstream kernel from SoC vendor (NXP) Default (without the PREEMPT_RT patch)
tdx-xwayland-rt Downstream kernel from SoC vendor (NXP) Fully preemptive (real-time Linux PREEMPT_RT patch)
tdx-xwayland-upstream Mainline kernel Default (without the PREEMPT_RT patch)
tdx-xwayland-upstream-rt Mainline kernel Fully preemptive (real-time Linux PREEMPT_RT patch)

Learn more about the PREEMPT_RT patch on Real-Time Linux.

Images

Toradex provides two reference image variants built on top of the distribution variants. Below we list the image variants and their description and some remarkable features. If you want to know exactly all the features, follow the links as they point to the relevant Yocto recipes.

Image Description
Reference Minimal Image
tdx-reference-minimal-image
Minimal image without graphical interface that just boots

- Network manager: connman
- Init system: systemd
- Base command-line packages included in packagegroup-tdx-cli.bb
Reference Multimedia Image
tdx-reference-multimedia-image
Image for BSP verification with Qt and multimedia features

- All that is included in the Reference Minimal Image
- Graphics stack: Weston / Wayland + XWayland
- Graphical User Interface framework: Qt
- Camera and Video framework: V4L2 and Gstreamer
- All command-line packages included in packagegroup-tdx-cli.bb
- All graphical packages included in packagegroup-tdx-graphical.bb
- All Qt5 packages included in packagegroup-tdx-qt5.bb

Source Code

The Linux kernel and U-Boot bootloader source code as well as the Toradex OpenEmbedded layers can be cloned from our GIT server. Sources of our current Linux images are available at git.toradex.com:

Check out the versions of U-Boot, kernel and Yocto/OpenEmbedded in our Embedded Linux Release Matrix.

Artifacts

Artifacts are binaries resulting from Yocto builds, such as pre-built images.

SDKs

We don't maintain or provide SDKs for the reference images. You must build your own Linux SDKs using OpenEmbedded.

Image Binaries

The pre-built binary images are provided by Toradex for your convenience and ease-of-use during your first steps with Toradex hardware.

Choose a Binary

Before installing an image, you must make some choices:

  • Choose a release cycle and a release version
  • Select a distro and image
  • Have at hand the name and version of your Computer on Module

This article goes on about all of those parameters. If you are still in doubt, we suggest that you browse through it again. If you still have questions, we are happy to help through our support channels.

Online Versus Offline Installation

The Toradex Easy Installer allows you to install all of our pre-built images directly from the internet into the Computer on Module internal flash memory. You don't need to download them for offline installation using an SD Card or USB stick, unless you have strong reason to do so, for instance, if your company network blocks our Toradex Easy Installer online feed.

Download Links for Offline Installation

Note: you don't need to download an image, except on special occasions. Read the previous section Online Versus Offline Installation to learn more.

Download pre-built images from the Reference Images for Yocto Project Software Downloads.

Flashing

First, check under which category you fall:

Use the Toradex Easy Installer to flash the image into the Computer on Module.

Customization

You will need to customize our Reference Images for Yocto Project. We provide documentation on reproducing our pre-built images with Yocto, and how to build the U-Boot and Linux kernel directly from the source code.

Recreate and Customize BSP with the Yocto Project/OpenEmbedded

For further information on how to recreate and customize our BSPs refer to the article Build a Reference Image with Yocto Project.

Build U-Boot and Linux Kernel

For further information about what Linux kernel and U-Boot branch are valid for which module hardware refers to the Build U-Boot and Linux Kernel from Source Code article.

Toradex Linux Features

This tables provides an overview of Embedded Linux hardware and software features including links to the respective know-how articles.

Hardware

Feature Description
ADC On-module analogue to digital converters (ADC)
Audio Audio
Backlight Enable/read and change backlight brightness
Bluetooth How to use Bluetooth on Linux
Camera How to use the analogue camera module (ACM)
CAN How to use the CAN subsystem
Capacitive Multi-Touch Capacitive (e.g. Fusion) multi-touch screen driver
Carveout Memory Carveout memory configuration (Colibri T20 only)
Cortex M4 eCos (Vybrid) Using eCos on the Cortex M4 real-time core (Colibri VF61 only)
Cortex M4 FreeRTOS (K20 on Apalis TK1) Using FreeRTOS on the Cortex M4 K20 Companion MCU (Apalis TK1 only)
Cortex M4 FreeRTOS (Vybrid) Using FreeRTOS on the Cortex M4 real-time core (Colibri VF61 only)
Cortex M4 FreeRTOS (i.MX 7) Using FreeRTOS on the Cortex M4 real-time core (Colibri iMX7 only)
CPU Frequency Read and change CPU frequency manually
CPU Hot-Plugging Automatic or manual core aka CPU hot-plugging
Display Output, Resolution and Timings Setting display parameters
Ethernet Ethernet driver details
External Memory Bus External/parallel memory bus aka GMI (Colibri iMX6/T20/T30 only)
Framebuffer Framebuffer
GPIO Use GPIOs through sysfs
I2C Detect I2C devices
One Wire One-Wire support
PWM Enable/configure PWM channels
Resistive Touch Screen Driver info and calibration for resistive touch screens
RTC Real-time clock support
SATA Serial ATA interface
SD/MMC Card SD/MMC card support
SPI SPI from user space
Suspend/Resume Low power modes (suspend) support
Temperature Sensor Internal temperature sensors
UART UARTs aka serial ports
USB Device Mode Ethernet using USB device mode
Video Encoding and Playback Accelerated video encoding and playback
Watchdog Notes about the Watchdog driver
Webcam Using a regular USB webcam and stream over HTTP
Wi-Fi Using Wi-Fi on Toradex modules
X-Server X-Server and LXDE

Software

Feature Description
Audio/Video over RTP Audio/video over RTP
Autorun How to autorun applications/daemons
Backports How to integrate kernel driver backports
Console How to configure (e.g. disable) serial debug console
Core Dumps Enable and analyse core dumps
Device Tree How to customise device tree
Initramfs and tmpfs How to use initramfs and tmpfs
Java How to install Java
Qt Entry page for Qt
OpenCV Open source computer vision
Python How to install Python
Remote Desktop Protocol Connecting to a remote system using RDP
SMB support Microsoft share support (CIFS/SMB)
Splash Screen How to configure a splash screen
SSH How to establish an SSH connection

BSP Layers and Reference Images for Yocto Project 3

Toradex provides BSP Layers and Reference Images for Yocto Project.
They are:

  • A fast and reliable starting point for you to create your own distribution.
  • Production-grade quality.

They are not:

  • Ready to be used in a production environment without further customization.

Toradex provides binary images of the Reference Images for Yocto Project for your convenience and ease-of-use during your first steps with Toradex hardware. Nevertheless, if you want something that is ready to be used in production, learn more about the differences between the Reference Images for Yocto Project and Torizon and consider starting with Torizon.

Distributions

Toradex provides a distribution based on Poky. We provide distro variants for different kernel configurations and graphics stack, summarized in the table below. Even though all distributions set the policy for the graphics stack, for example Weston/Wayland + XWayland or X11, they must be used for building console-only images. If you want to know exactly what is defined for each distro, follow the links as they point to the relevant Yocto configuration files.

The X11 variants are supported for the modules based on NVIDIA Tegra K1 and NXP i.MX 6/6ULL/7 SoCs. The Weston/Wayland + XWayland variants are supported for the modules based on NXP i.MX 8/8X based SoCs.

Distro kernel base kernel config
tdx-xwayland Downstream kernel from SoC vendor (NXP) Default (without the PREEMPT_RT patch)
tdx-xwayland-rt Downstream kernel from SoC vendor (NXP) Fully preemptive (real-time Linux PREEMPT_RT patch)
tdx-x11 Downstream kernel from SoC vendor (NXP) Default (without the PREEMPT_RT patch)
tdx-x11-rt Downstream kernel from SoC vendor (NXP) Fully preemptive (real-time Linux PREEMPT_RT patch)

BSP 3 is the last release that supports X11. From BSP 5 onwards it is replaced with Weston/Wayland + XWayland.
Learn more about the PREEMPT_RT patch on Real-Time Linux.

Images

Toradex provides a reference image built on top of the distribution variants. Below we list the image variants and their description and some remarkable features. If you want to know exactly all the features, follow the links as they point to the relevant Yocto recipes.

Image Description
Console Image
console-tdx-image
Image without graphical interface

- Network manager: connman
- Init system: systemd
- Base command-line packages included in packagegroup-tdx-cli.bb

Source Code

The Linux kernel and U-Boot bootloader source code as well as the Toradex OpenEmbedded layers can be cloned from our GIT server. Sources of our current Linux images are available at git.toradex.com:

Check out the versions of U-Boot, kernel and Yocto/OpenEmbedded in our Embedded Linux Release Matrix.

Artifacts

Artifacts are binaries resulting from Yocto builds, such as pre-built images.

SDKs

We don't maintain or provide SDKs for the reference images. You must build your own Linux SDKs using OpenEmbedded.

Image Binaries

The pre-built binary images are provided by Toradex for your convenience and ease-of-use during your first steps with Toradex hardware.

Choose a Binary

Before installing an image, you must make some choices:

  • Choose a release cycle and a release version
  • Select a distro and image
  • Have at hand the name and version of your Computer on Module

This article goes on about all of those parameters. If you are still in doubt, we suggest that you browse through it again. If you still have questions, we are happy to help through our support channels..

Online Versus Offline Installation

The Toradex Easy Installer allows you to install all of our pre-built images directly from the internet into the Computer on Module internal flash memory. You don't need to download them for offline installation using an SD Card or USB stick, unless you have strong reason to do so, for instance, if your company network blocks our Toradex Easy Installer online feed.

Download Links for Offline Installation

Note: you don't need to download an image, except on special occasions. Read the previous section Online Versus Offline Installation to learn more.

Download pre-built images from the Reference Images for Yocto Project Software Downloads.

Flashing

First, check under which category you fall:

Use the Toradex Easy Installer to flash the image into the Computer on Module.

Customization

You will need to customize our Reference Images for Yocto Project. We provide documentation on reproducing our pre-built images with Yocto, and how to build the U-Boot and Linux kernel directly from the source code.

Recreate and Customize BSP with the Yocto Project/OpenEmbedded

For further information on how to recreate and customize our BSPs refer to the article Build a Reference Image with Yocto Project.

Build U-Boot and Linux Kernel

For further information about what Linux kernel and U-Boot branch are valid for which module hardware refers to the Build U-Boot and Linux Kernel from Source Code article.

Toradex Linux Features

This tables provides an overview of Embedded Linux hardware and software features including links to the respective know-how articles.

Hardware

Feature Description
ADC On-module analogue to digital converters (ADC)
Audio Audio
Backlight Enable/read and change backlight brightness
Bluetooth How to use Bluetooth on Linux
Camera How to use the analogue camera module (ACM)
CAN How to use the CAN subsystem
Capacitive Multi-Touch Capacitive (e.g. Fusion) multi-touch screen driver
Carveout Memory Carveout memory configuration (Colibri T20 only)
Cortex M4 eCos (Vybrid) Using eCos on the Cortex M4 real-time core (Colibri VF61 only)
Cortex M4 FreeRTOS (K20 on Apalis TK1) Using FreeRTOS on the Cortex M4 K20 Companion MCU (Apalis TK1 only)
Cortex M4 FreeRTOS (Vybrid) Using FreeRTOS on the Cortex M4 real-time core (Colibri VF61 only)
Cortex M4 FreeRTOS (i.MX 7) Using FreeRTOS on the Cortex M4 real-time core (Colibri iMX7 only)
CPU Frequency Read and change CPU frequency manually
CPU Hot-Plugging Automatic or manual core aka CPU hot-plugging
Display Output, Resolution and Timings Setting display parameters
Ethernet Ethernet driver details
External Memory Bus External/parallel memory bus aka GMI (Colibri iMX6/T20/T30 only)
Framebuffer Framebuffer
GPIO Use GPIOs through sysfs
I2C Detect I2C devices
One Wire One-Wire support
PWM Enable/configure PWM channels
Resistive Touch Screen Driver info and calibration for resistive touch screens
RTC Real-time clock support
SATA Serial ATA interface
SD/MMC Card SD/MMC card support
SPI SPI from user space
Suspend/Resume Low power modes (suspend) support
Temperature Sensor Internal temperature sensors
UART UARTs aka serial ports
USB Device Mode Ethernet using USB device mode
Video Encoding and Playback Accelerated video encoding and playback
Watchdog Notes about the Watchdog driver
Webcam Using a regular USB webcam and stream over HTTP
Wi-Fi Using Wi-Fi on Toradex modules
X-Server X-Server and LXDE

Software

Feature Description
Audio/Video over RTP Audio/video over RTP
Autorun How to autorun applications/daemons
Backports How to integrate kernel driver backports
Console How to configure (e.g. disable) serial debug console
Core Dumps Enable and analyse core dumps
Device Tree How to customise device tree
Initramfs and tmpfs How to use initramfs and tmpfs
Java How to install Java
Qt Entry page for Qt
OpenCV Open source computer vision
Python How to install Python
Remote Desktop Protocol Connecting to a remote system using RDP
SMB support Microsoft share support (CIFS/SMB)
Splash Screen How to configure a splash screen
SSH How to establish an SSH connection

BSP Layers and Reference Images for Yocto Project 2.8

Toradex provides BSP Layers and Reference Images for Yocto Project.
They are:

  • A fast and reliable starting point for you to create your own distribution.
  • Production-grade quality.

They are not:

  • Ready to be used in a production environment without further customization.

Toradex provides binary images of the Reference Images for Yocto Project for your convenience and ease-of-use during your first steps with Toradex hardware. Nevertheless, if you want something that is ready to be used in production, learn more about the differences between the Reference Images for Yocto Project and Torizon and consider starting with Torizon.

Distributions

Toradex uses the Angstrom distribution and helps to maintain it. To learn more about features you must directly check the meta-angstrom layer.

Images

Toradex provides a reference image built on top of the distribution. Below we list the image variants and their description and some remarkable features. If you want to know exactly all the features, follow the links as they point to the relevant Yocto recipes.

Image Description
Angstrom LXDE
angstrom-lxde-image
Angstrom-based image with the LXDE desktop environment

- Network manager: connman
- Init system: systemd
- Desktop environment: LXDE

Source Code

The Linux kernel and U-Boot bootloader source code as well as the Toradex OpenEmbedded layers can be cloned from our GIT server. Sources of our current Linux images are available at git.toradex.com:

Check out the versions of U-Boot, kernel and Yocto/OpenEmbedded in our Embedded Linux Release Matrix.

Artifacts

Artifacts are binaries resulting from Yocto builds, such as pre-built images.

SDKs

We don't maintain or provide SDKs for the reference images. You must build your own Linux SDKs using OpenEmbedded.

We did provide SDKs as-is, without any support or tests, for the Quickstart Guide. Those were only provided for BSP 2.8, the only use case supported was the hello world application provided in the Quickstart and nothing more! Currently, the BSP 2.8 is used on the Quickstart only for SoMs that are not supported by Torizon.

Image Binaries

The pre-built binary images are provided by Toradex for your convenience and ease-of-use during your first steps with Toradex hardware.

Download pre-built images from the Reference Images for Yocto Project Software Downloads.

Flashing

If your module is supported by Toradex Easy Installer - this is the preferred method:

If your module is older and not supported by the Toradex Easy Installer:

To use the legacy Bash/U-Boot flashing scripts variant over Ethernet:

Customization

You will need to customize our Reference Images for Yocto Project. We provide documentation on reproducing our pre-built images with Yocto, and how to build the U-Boot and Linux kernel directly from the source code.

Recreate and Customize BSP with the Yocto Project/OpenEmbedded

For further information on how to recreate and customize our BSPs refer to the article Build a Reference Image with Yocto Project.

Build U-Boot and Linux Kernel

For further information about what Linux kernel and U-Boot branch are valid for which module hardware refers to the Build U-Boot and Linux Kernel from Source Code article.

Toradex Linux Features

This tables provides an overview of Embedded Linux hardware and software features including links to the respective know-how articles.

Hardware

Feature Description
ADC On-module analogue to digital converters (ADC)
Audio Audio
Backlight Enable/read and change backlight brightness
Bluetooth How to use Bluetooth on Linux
Camera How to use the analogue camera module (ACM)
CAN How to use the CAN subsystem
Capacitive Multi-Touch Capacitive (e.g. Fusion) multi-touch screen driver
Carveout Memory Carveout memory configuration (Colibri T20 only)
Cortex M4 eCos (Vybrid) Using eCos on the Cortex M4 real-time core (Colibri VF61 only)
Cortex M4 FreeRTOS (K20 on Apalis TK1) Using FreeRTOS on the Cortex M4 K20 Companion MCU (Apalis TK1 only)
Cortex M4 FreeRTOS (Vybrid) Using FreeRTOS on the Cortex M4 real-time core (Colibri VF61 only)
Cortex M4 FreeRTOS (i.MX 7) Using FreeRTOS on the Cortex M4 real-time core (Colibri iMX7 only)
CPU Frequency Read and change CPU frequency manually
CPU Hot-Plugging Automatic or manual core aka CPU hot-plugging
Display Output, Resolution and Timings Setting display parameters
Ethernet Ethernet driver details
External Memory Bus External/parallel memory bus aka GMI (Colibri iMX6/T20/T30 only)
Framebuffer Framebuffer
GPIO Use GPIOs through sysfs
I2C Detect I2C devices
One Wire One-Wire support
PWM Enable/configure PWM channels
Resistive Touch Screen Driver info and calibration for resistive touch screens
RTC Real-time clock support
SATA Serial ATA interface
SD/MMC Card SD/MMC card support
SPI SPI from user space
Suspend/Resume Low power modes (suspend) support
Temperature Sensor Internal temperature sensors
UART UARTs aka serial ports
USB Device Mode Ethernet using USB device mode
Video Encoding and Playback Accelerated video encoding and playback
Watchdog Notes about the Watchdog driver
Webcam Using a regular USB webcam and stream over HTTP
Wi-Fi Using Wi-Fi on Toradex modules
X-Server X-Server and LXDE

Software

Feature Description
Audio/Video over RTP Audio/video over RTP
Autorun How to autorun applications/daemons
Backports How to integrate kernel driver backports
Console How to configure (e.g. disable) serial debug console
Core Dumps Enable and analyse core dumps
Device Tree How to customise device tree
Initramfs and tmpfs How to use initramfs and tmpfs
Java How to install Java
Qt Entry page for Qt
OpenCV Open source computer vision
Python How to install Python
Remote Desktop Protocol Connecting to a remote system using RDP
SMB support Microsoft share support (CIFS/SMB)
Splash Screen How to configure a splash screen
SSH How to establish an SSH connection