What is the relationship between OpenEmbedded and the Yocto Project?
Updated
OpenEmbedded is the build framework that the Yocto Project adopted as its build system in March 2011. In practice, that means the core build engine and metadata you use when you build with Yocto come from OpenEmbedded; the Yocto Project wraps that engine with additional tooling, governance, and a reference distribution. If you are trying to decide which project to follow or download, the short answer is that they are not competitors — Yocto is built on top of OpenEmbedded.
The 2011 adoption
The OpenEmbedded main page states directly that OpenEmbedded was "adopted as the build system for the Yocto Project in March 2011." It links to an official press release titled "Yocto Project Aligns Technology with OpenEmbedded and Gains Corporate Collaborators."
That single fact explains most of the confusion beginners run into. Before 2011, OpenEmbedded was an independent build framework for embedded Linux. After the adoption, the same build framework became the foundation of the Yocto Project's build system.
What each side provides
| Aspect | OpenEmbedded | Yocto Project |
|---|---|---|
| Role | Build framework / cross-compile environment | Project that adopted OpenEmbedded as its build system |
| Core capability | Cross-compiles thousands of packages; supports many hardware architectures; multiple releases per architecture | Builds on that framework and adds its own tooling and collaboration structure |
| Relationship | Provides the underlying build system | Aligns its technology with OpenEmbedded |
OpenEmbedded describes itself as "the build framework for embedded Linux" and "a best-in-class cross-compile environment" that lets developers "create a complete Linux Distribution for embedded systems." Its stated advantages include:
- Adopted as the build system for the Yocto Project in March 2011
- Support for many hardware architectures, with multiple releases for those architectures
- Tools for speeding up the process of recreating the base after changes
- Easy to customize
- Runs on any Linux distribution
- Cross-compiles thousands of packages, including GTK+, Qt, the X Windows system, Mono, Java, and "about anything else you might ever need"
Those capabilities are what Yocto inherits by using OpenEmbedded as its build system.
What this means if you are getting started
Because the build system is shared, the practical starting point is the same regardless of which name you arrived through. The OpenEmbedded site organizes its material into two tracks:
- Users — Getting started, Frequently asked questions and their answers, Documentation
- Developers — Policies, Debugging a build, OpenEmbedded-Core, Organization
For community help, the site points to a discussion website, mailing lists, IRC chat, a calendar, bug tracking, and "Happy Hours." There are also sections for Distributions and Devices.
One caveat worth knowing: the OpenEmbedded main page notes it "was last edited on 3 May 2017," so some links and news items are old even though the page still lists recent events such as a 2025-02-02 workshop after FOSDEM, the 2025 Yocto Project Summit, and an OpenEmbedded developer meeting in Amsterdam before the Linux Foundation OSSEU. Treat the navigation links as the durable part and the news dates as a signal of how actively the page is maintained.
Where the two names overlap in practice
The overlap shows up most clearly in events and community activity. The OpenEmbedded news list includes a Yocto Project Summit entry, which reflects the shared technical base rather than two separate ecosystems. If you are following one project's calendar, you will frequently see the other's name.
The takeaway: OpenEmbedded is the build framework; the Yocto Project is the effort that adopted it as its build system in March 2011 and aligned its technology with it. Learning the OpenEmbedded build framework is not a detour from Yocto — it is the foundation Yocto builds on.