What Is the
Yocto Project?

Understand how the Yocto Project differs from other embedded Linux distributions and its connection to OpenEmbedded, Linux Foundation, Poky, and more.

 

What Is the Yocto Project?

The Yocto Project is an open source project specifically for the embedded space. Whereas other Linux distributions are built for enterprise servers and workstations and then (possibly) tailored down for embedded use cases, the Yocto Project enables the build of customized distributions for embedded devices. In a disparate market with heterogeneous requirements, the project seeks to define a common ground for embedded development, independent of the underlying architecture of the hardware.

After more than a decade, the Yocto Project has evolved to become one of the largest communities under the Linux Foundation umbrella of collaborative open source projects. It gathers the top names in the industry, applies best practices for open source, and defines the attributes of embedded OS development and product lifecycles with the tools it offers.

The Yocto Project is a suite of tools and processes enabling the developer to build, from the ground up, an embedded Linux distribution on a broad set of hardware architectures.

Key Benefits of the Yocto Project

  • Aggregates best-of-breed infrastructure, recipes, and tools for building a distribution
  • Reduces duplication of effort
  • Increases collaboration and reuse between commercial and open source communities
  • Leverages the benefits of other open source projects, such as OpenEmbedded and Eclipse

Yocto Project Fast Facts

  • In 2010, the Yocto Project was announced as a new work group under the Linux Foundation; Wind River® joined as a founding member.
  • With more than 30 member companies, 2,500+ contributors to the Yocto Project have made over 170,000 (and counting) code commits, representing more than 11,600,000 lines of code.
  • The Yocto Project is one of the largest open source teams in the world.

Difference Between Yocto Project Poky and OpenEmbedded

Poky is the reference operating system distribution built with Yocto Project tools, and OpenEmbedded is a build framework of recipes and packages. OpenEmbedded supports many hardware architectures with cross-compilation infrastructure. The community uses it to validate Yocto Project features and functionality, but it also serves as example for any user who builds their own custom distribution.

Yocto Project Contributing Companies

The project began with a dozen companies comprising major players in both hardware and software in the embedded market. Today the Yocto Project has more than 30 member companies, including AWS, Intel, Meta, Microsoft, and Wind River.

Top 10 organization commits to the Yocto Project (Source: The Linux Foundation)

Differences Between Embedded Linux Distributions

Yocto Project vs. Ubuntu Core

Yocto Project is not a distribution — it is a set of tools to develop a distribution. Ubuntu Core is a Linux distribution delivered in binary.

Yocto Project vs. Buildroot

Buildroot is small and simple, and it gives quick results. Yocto Project needs more time to build the image and requires more disk space. On the other hand, its layers are easier to maintain and, because it’s a complex build system, it provides more possibilities.

Yocto Project vs. Debian

Debian, delivered in both source and binary, originated in the enterprise space for servers and workstations. The Yocto Project was created specifically to address embedded.

How Can Wind River Help?

Wind River Linux

Wind River provides the industry’s most advanced embedded Linux development platform. Its comprehensive suite of products, tools, and lifecycle services helps our customers build and support intelligent edge devices in segments such as aerospace and defense, industrial, medical, automotive, and more.

Wind River Linux enables customers to build and deploy robust, reliable, and secure Linux-based edge devices and systems without the risk and development effort associated with roll-your-own (RYO) in-house efforts. You can keep your code base up-to-date, track and fix defects, apply security patches, and customize your runtime to adhere to strict market specifications and certifications. Wind River can also facilitate your IP and export compliance and significantly reduce your costs.

Wind River has been the global leader in the embedded software industry for 40 years, has spent more than 15 years as an active contributor and committed champion of open source, and has a proven track record of helping customers build and deploy use case–optimized devices and systems.

Wind River Linux is running on hundreds of millions of deployed devices worldwide, and the Wind River Linux suite of products and services offers a high degree of of confidence and flexibility as you prototype, develop, and move to real deployment.

>>  Learn more
Wind River Linux Development Practices
  • Wind River uses industry best practices for continuous integration and DevOps to build, test, and release software.
  • Wind River is the only Linux vendor using OpenChain to certify our compliance; OpenChain is a certification tool that certifies and validates the open source license compliance used in a company’s distribution. This is important because, in the event of an audit, you will be able to demonstrate supply chain integrity. Wind River acts as your insurance policy for compliance for your Linux-based product deployments.
  • Wind River is the only edge Linux with ISO 9001–certified development and release processes.
Quality, Compliance, and Certifications

Wind River can assist design teams with defining and building market-specific requirements for security, safety, and certification. Wind River Linux follows strict engineering processes that are certified to ISO 9001:2015 and audited regularly for quality.

Wind River Studio Linux Services

Wind River offers a comprehensive suite of support and integration services to enhance the speed and quality of a market-differentiated Linux solution for deployment — regardless of which Linux you chose. Whether you sourced your Linux from the Yocto Project, from a board vendor, or from another commercial vendor, Wind River has deep expertise in Linux with more than 20 years of embedded, real-time, and Linux expertise across all markets.

Studio Linux Services include:

  • Platform architectural assessments, software design, and implementation
  • Security vulnerabilities alerts, analysis, and mitigation
  • Long-term Linux platform security and defect maintenance and support
  • Performance and reliability requirements
  • The latest industry-specific features and standards that can be quickly customized to further accelerate development
  • IP compliance audits and remediation recommendations

With Wind River, organizations can engage in any way they wish, with access to guidance and assistance available at every step in the product development lifecycle.

>>  Learn more

Security

Wind River addresses security on many levels:

  • CVE monitoring, assessment notification, and remediation
  • Inclusion of many common security packages in our distribution
  • Regular updates that include security fixes
  • OS hardening and cybersecurity capabilities, including Linux kernel hardening and allowlisting

*As of the end of Q3, 2021 data source Wind River CVE Database

Community Leadership

There are many work groups and organizations, mostly sponsored by the Linux Foundation, that define the requirements for vertical market solutions. Wind River, a founding member of the LF Edge and Yocto Project, actively participates in and contributes to these work groups. Wind River is also a member of the LF Energy group and is working on that project to help define next-generation digital substation automation systems.

Yocto Project FAQs

The Yocto Project is an open source collaboration project that provides tools, templates, and methods to help developers create custom Linux-based systems for embedded devices.
Benefits of using the Yocto Project include improved flexibility and scalability, reduced time-to-market, increased control and customization, and simplified maintenance and updates.
Key components of the Yocto Project include the Poky build system (the Yocto Project’s reference distribution), the OpenEmbedded build framework, and the BitBake build tool. These components work together to provide a comprehensive set of tools and resources for building custom Linux-based systems for embedded devices.
No, the Yocto Project is not an operating system. It is better described as a platform to build an OS based on the Linux kernel and embedded-specific packages.
The Buildroot approach is simplified. It makes it easier to get to a bootable binary image for your embedded device, in fewer steps. The Yocto Project, on the other hand, allows for better customization with the build system, resulting in more complex projects at configuration level. Additional tools are also available, such as the SRTool for CVE detection and management.
The Yocto Project allows a user to build a custom Linux distribution for embedded use cases. Debian, in contrast, provides a reference distribution as a starting point, allowing the user to tailor it down for their embedded solution.
Timesys Linux is a commercially supported Linux offering that can leverage the Yocto Project open source code.
Appending refers to modifying a recipe, while patching is modifying the packaged code content available within a recipe.
Select a general-purpose distro, then start removing packages that are not relevant to your solution until the bare minimum is achieved, such that it fits the hardware resource constraints while achieving the functionality needed for project requirements.
A custom Linux distro is required for optimization and simplification, allowing the deployed software to meet the device hardware limitation while also complying with regulatory requirements.
There are multiple ways to optimize or minimize boot time, starting with hardware- specific features or software tweaks such as Fast boot. The hardware architecture and the total number of devices that must be initiated at boot time can affect the overall boot time. In other words, peripherals selection influences boot time.
ROS stands for Robot Operating System. It is not an OS per se but a suite of frameworks and packages specific to building an operating system for a robot. The Yocto Project, on the other hand, is a suite of tools and package recipes for generic embedded devices, including robots. You might say that ROS is focused on one use case, while the Yocto Project is more generic and more versatile.
The Yocto Project is used to build a customer’s Linux distribution for a purpose-built embedded solution.
The Yocto Project is a suite of tools, including a BitBake build system, pre-built recipes, and Poky reference distribution.
The “Yocto system” refers to the Yocto Project build system, also known as BitBake.
The Yocto Project is focused on embedded devices, allowing the build of customized distributions. Ubuntu is an enterprise distribution for servers and workstations, and it might be tailored down for embedded use cases.
Thousands of companies are using the Yocto Project for RYO projects, in addition to the 30+ members that contribute to the project through direct assigned resources and membership fees.
Poky is the reference distribution built with Yocto Project tools and OpenEmbedded recipes and packages. It is used by the community to validate Yocto Project features and functionality, but it also serves as an example for any user who builds their own custom distribution.
The Yocto Project works by structuring various packages into recipes, along with the latest Linux kernel and various hardware support layers. The user can select these at build time to create a custom binary distribution.
The Yocto Project is a distribution builder, allowing you to build Linux for embedded use cases.
Embedded Linux created using the Yocto Project can be configured with the real-time preempt-RT kernel patches at build time.
The Yocto Project allows developers to build, from the ground up, their own custom distributions, while having full control of the content and many options to customize the end results.
No, the Yocto Project does not provide the capabilities to build a real-time OS.
The Yocto Project is a set of stand-alone tools that leverage OpenEmbedded layers of packages and recipes.
No. The Yocto Project is a stand-alone suite of tools for building embedded Linux distributions, while Debian is a general-purpose distribution.
Poky is the reference distribution for the Yocto Project, while BitBake is the build system used for creating distributions.