Skip to main content
Version: BSP 7.x.y

Yocto Project

Introduction

Yocto Project Participant

"The Yocto Project is an open source collaboration project that provides templates, tools and methods to help you create custom Linux-based systems for embedded and IOT products, regardless of the hardware architecture." (quoted from: About the Yocto Project).

OpenEmbedded is a build framework for embedded Linux. It is adopted as the Yocto build system and is co-maintained by the Yocto Project and the OpenEmbedded Project.

info

Often Toradex documentation refers to OpenEmbedded instead of Yocto. When using the developer website search, please search for both terms for a better result overview.

Toradex is a Yocto Project participant company that makes use of the main Yocto infrastructure - especially the OpenEmbedded build system - to provide production-quality BSP Layers for Yocto Project, which makes it simple to get started. You can leverage Toradex's Reference Images for Yocto Project as a base for developing your embedded Linux systems with the Yocto Project with a minimal approach, use Torizon OS which is a ready-to-use distribution maintained by Toradex and built on top of our BSP Layers, or customize the Torizon OS Reference Images to develop your Yocto image with support for OTA Updates and other IoT features from scratch.

Relationship between Torizon OS, BSP Layers and Reference Images

How to Build a Yocto / OpenEmbedded Image

The comprehensive Toradex guides to building a Yocto/OpenEmbedded embedded Linux image are:

A summary of the steps to follow from configuration to deployment is provided below. Please see the technical articles above for the actual commands and exact steps you have to execute:

  1. Install the prerequisites. Make sure you install and configure git, and that proxy/firewall does not block access to any required URL.
  2. Download the required repositories using the Repo tool.
  3. Export the environment setup script.
  4. Setup your machine, which tells OpenEmbedded for which Toradex computer on module you are building.
  5. Use bitbake to build the image. This takes a lot of time during the first build. For later builds, only the packages you customize will be re-built which makes it much faster.
  6. Deploy the resulting image to the computer on module.

Toradex has a Blog and Webinars pages where you can find content related to Yocto, aimed to help your embedded Linux development with Yocto Project. Check periodically for most up-to-date articles and if you would like to read a blog post that is not yet written, leave your feedback using the Feedback developer website button.

Blogs

Webinars

External resources

Partners

Details

This section provides a follow-up to the introduction.

Yocto Project

The Yocto Project provides infrastructure such as:

  • OpenEmbedded core, a basic set of recipes to build the distribution (e.g. C-Library, Shell, Busybox).
  • BitBake, a Python powered build engine that interprets the recipes and builds a root file system directly from sources.
  • AutoBuilder, a continuous integration system to assure QA.
  • Various BSPs, provided by the participants.
  • Poky, a reference distribution that includes Sato, a GTK based reference user interface.
  • CROPS, a containerized environment for Yocto builds.

There are other open-source components and tools which are developed under the umbrella of Yocto, see the Software: Components and Tools page of Yocto.

Toradex and Yocto Project Relationship

Toradex makes use of the main infrastructure of Yocto, namely:

  • OpenEmbedded core and BitBake, our BSPs use the OpenEmbedded core recipes.
  • AutoBuilder, we use AutoBuilder internally to build some of our BSPs.
  • CROPS, we use CROPS internally to build some of our BSPs.

Torizon OS

We provide our Torizon OS manifest and layers on https://github.com/toradex.

info

From Toradex embedded Linux BSP 5, the repo manifest for Torizon OS has been changed from toradex-torizon-manifest to toradex-manifest.

Toradex BSP Layers for Yocto Project

We provide our Toradex BSP Layers for Yocto Project as OpenEmbedded layers available at https://git.toradex.cn.

  • toradex-manifest: the Repo manifest containing all layers used by the Toradex BSP (in-house and third party ones), Reference Images for Yocto Project and Torizon OS. It is used to setup the OpenEmbedded build environment.
  • meta-toradex-bsp-common: BSP layer common to all Toradex computer on modules.
  • meta-toradex-demos: BSP layer that provides recipes used by our reference images, and the recipes of the images themselves.
  • meta-toradex-distro: distribution layer that provides recipes used to build our reference images.
  • meta-toradex-nxp: BSP layer that provides support for the computer on modules that use NXP SoCs.
info

From Toradex embedded Linux BSP 3.0, Toradex began to provide two embedded Linux offerings based-off the same BSP layers: Torizon OS and Toradex Reference Images for Yocto Project.

Starting with BSP V3.0 we have used:

  • A Poky-based distribution for our Toradex Reference Images for Yocto Project.
  • A minimal distribution with OTA capabilities and a container engine for Torizon OS. Torizon OS and the Torizon ecosystem were created to provide a great out-of-the-box experience and an easy migration path for Windows CE users.

Qt

Toradex also recommends to use Qt to build appealing user interfaces, which are possible to run with or without Desktop environment (see How to set up Qt Creator to cross-compile for embedded Linux). There are several options to use Qt on Toradex modules:

  • As a container on Torizon OS. Toradex provides a Qt Debian Container for Torizon.
  • From a custom Yocto image that integrates Qt to the Toradex BSP:
    • One example is the Boot2Qt image, provided and maintained by The Qt Company. The binary image is hosted by Toradex in the Toradex Easy Installer feeds, for your convenience. Read Partner Demo Image - Qt for Device Creation for more information.
    • Another example is to directly use our Toradex Reference Images for Yocto Project. Our Multimedia Reference Image already has Qt included.


Send Feedback!