The Yocto Project

Creating flexible, custom operating systems for embedded and IoT devices

Key facts

Status:
Current
Investment Amount
€759,000.00
Investment Year(s)
2023, 2024

The Yocto Project helps developers create custom operating systems with open components that work independently of a device's hardware architecture and can therefore be used in a variety of contexts. The Yocto Project provides a flexible set of tools and a space where embedded developers worldwide can share technologies, software stacks, configurations, and best practices. These can be used to create tailored Linux images for embedded and Internet of Things (IoT) devices, or anywhere a customized Linux operating system is needed.

The project works on and contributes to the BitBake and OpenEmbedded Core projects. BitBake is a build tool, and OpenEmbedded Core is a library that provides basic recipes for building system components like glibc, gcc, and systemd. Product development in the IoT sector is progressing rapidly, creating a high demand for flexible technical solutions like the Yocto Project. Embedded systems, for example, are used in medical technology, washing machines, airplanes, cars, refrigerators, televisions, routers, satellites, mobile phones, and entertainment electronics.

For cost reasons, an optimized mixed hardware-software implementation and setup is often chosen for a specific purpose. During the build process, “recipes” are used to track dependencies, compile the software on one platform for use on others (cross-compilation), and package it for installation on the local or target device.

Why is this important?

The Yocto Project is a type of critical software infrastructure due to its position within the software ecosystem. There are several industries that build on it and use it as their software foundation. Private-sector users include Automotive Grade Linux (AGL), BMW Group, OpenBMC, as well as some operating system vendors. AGL utilizes Yocto Project to create the AGL Unified Code Base (UCB), which is used by member companies in various connected car models. BMW Group also uses the software in some of its vehicles. The OpenBMC project uses the Yocto Project as a foundation and is, in turn, used by many hardware manufacturers in their servers (Dell, Microsoft, Meta, IBM, and others). Some operating system vendors also build their products on Yocto Project, supplying telecommunications companies that use Yocto Project, for example, in communication base stations.

Yocto Project is usually not visible to users, but it is very important for developers and products in a wide range of devices and industries. There is a significant public interest in providing a secure and robust foundation for all of these areas. The scope of the project is large, and the resources available to the project are limited compared to the scale of requests and usage. The project’s growing adoption means that specialized and qualified engineers are in high demand for customization; the project’s member companies are even having difficulties providing their engineers' time to support the project they rely on.

In addition, Yocto Project has a close relationship with OpenEmbedded, the build architecture the project has adopted. Build architecture or framework describes the comprehensive set of compatible tools, scripts, metadata, and recipes that OpenEmbedded provides to simplify and automate constructing customized Linux distributions. Using this framework enables modularity, customization, and flexibility for developers.

There is an OpenEmbedded community and non-profit organization which oversees that architecture and technology. It doesn’t have member funding like the Yocto Project, so the Yocto Project has funded much of the work on OpenEmbedded. The two projects share codebases such as BitBake and OpenEmbedded-Core, so work on one directly benefits the other. Due to the ability to build everything from source including the toolchain, OpenEmbedded has often found uses in academic and research and development environments since it allows unconstrained experimentation at all levels of the source code. Many of the activities commissioned by the Sovereign Tech Fund contribute to OpenEmbedded-Core and thus to the many open source communities that build on it.

The funded work improves the long-term sustainability of the project by attracting a new generation of developers.

What are we funding?

The work the Sovereign Tech Fund is commissioning aims to improve the Yocto Project’s efficiency, security, user experience, and developer engagement.

  1. Build Process and Workflow Improvements
    • Core workflow Improvements (Build tooling, workflows, and binary support).
    • Yocto Project Reference Binary Distribution (Workflow improvements and policies).
    • Patchtest, a tool that allows automated testing of code patches submitted via mailing lists
  2. Security and Quality Improvements
    • Improving security processes, security team, and SBOMs.
    • Tooling Bug Fixes and Improvements (Devtool, Recipetool, Pseudo, and quality-of-life features).
  3. Integration and Usability Enhancements
    • Toaster Updates and Improvements (Web UI for BitBake).
    • VSCode Integration with Yocto (Developer features and integration enhancements).
  4. Layer Management Standardization
    • Incorporate OpenEmbedded Core best practices into Meta-OpenEmbedded.
    • Develop standard tools for managing Yocto layers (standardizing layer tooling).

More technologies

All technologies