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 Professional Services

Success in a competitive market means concentrating on what you do best — building great products for the industries you serve. Wind River offers services that allow you to avoid the risk and expense of developing platforms, so you can focus on your value-added features.

  • North America
  • Ottowa, Canada
  • Dublin, OH
  • Alameda, CA
  • Detroit, MI
  • Costa Rica
  • South America
  • Cordoba, Argentina
  • (C/E Services Only)
  • Europe
  • Stockholm, Sweden
  • Paris, France
  • Munich, Germany
  • Galati, Romania
  • China
  • Chengdu, China
  • Beijing, China
  • Korea
  • Seoul, Korea
  • Japan
  • Tokyo, Japan
  • Nearly 400 experienced engineers
  • Average developer has 5+ years cross-vertical industry experience
  • Global network of experienced architects
  • Balanced cost structure to deliver quality of service and affordability
  • Time-zone aligned development
  • Round-the-clock capability
  • CMMI level 3 and A-Spice development
  • 95% English speaking
  • Concept, prototype and mass production development experience
BSP DEVELOPMENT

Wind River offers an expansive list of board support packages (BSPs), software kits that provide a layer between the hardware architecture and the operating system. Our Professional Services team can also design and develop a custom BSP for your project, including acceptance tests for features that are specific to your hardware.

>>  Learn more
Frozen Branch Services

Frozen branch services provide configuration management, security monitoring, and maintenance specific to a customer-designated version of Wind River Linux for all phases of the Wind River Linux product lifecycle. Customers are informed of patches that are available for the platform and may select those they want incorporated, thereby minimizing revalidation costs.

Services for the platform include:

  • Providing monthly notifications to customers of potential security errors, with available patches
  • Backporting and integrating customer-selected security patches with the customer-designated version of Wind River Linux
  • Addressing errors reported by the customer and creating a patch if needed for the customer-designated version of Wind River Linux
  • Testing patches for the customer-designated version of Wind River standard Linux on one Wind River Linux BSP and reference board
  • Releasing patches that were integrated into the customer-designated version of Wind River Linux
Custom Content Maintenance (CCM)

CCM service provides configuration management, security monitoring, and maintenance specific to a customer’s platform, including the open source packages that were added on top of Wind River Linux. Customers are informed of patches that are available for the platform and select those they want incorporated. The package is renewable yearly, but the price is subject to change each year. Services for the platform include:

  • Fixing bugs as reported and requested by the customer, in customer-specific open source packages
  • Notifying the customer of potential patches available for all the open source packages in their platform
  • Backporting and integrating customer-requested bug fixes provided by Wind River Engineering on the current Wind River Linux release
  • Monitoring for security patches to customer-specific open source packages, notifying the customer of available patches, and integrating those selected by the customer
  • Backporting and integrating customer-selected security patches provided by Wind River Engineering on the current Wind River Linux release
  • Testing patches using the test suite for the version of Wind River Linux in the platform on one Wind River standard product BSP and reference board
  • Releasing patches that were integrated into the platform to the customer

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.

Related Questions / FAQs

The Yocto Project is a suite of tools allowing the user to build, from the ground up, an embedded Linux distribution, starting as small as possible to get full control over the distro. The name “Yocto” also stands for the smallest unit of measure, equal to one septillionth (10-24).
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.