Yocto Project
Tools and metadata for building your own Linux distribution for an embedded device, from source: kernel, toolchain, packages, root filesystem image and SDK, reproducibly and with licence records.
Linux Foundation project- What it is
- Build tools
- Type
- Open source
- Made by
- Yocto Project (Linux Foundation), with OpenEmbedded
- Foundation
- The Linux Foundation, joined October 2010. A Linux Foundation project that shares BitBake and OpenEmbedded-Core with the OpenEmbedded community
- License
- Metadata MIT; BitBake GPL-2.0-only; each recipe’s software under its own licence
- Facts checked
- 28 October 2026
What it is
The Yocto Project is not a Linux distribution but a way to make one. Its build system, the OpenEmbedded build system, is driven by BitBake, a task scheduler that reads metadata and runs fetch, patch, configure, compile, package and image tasks in parallel. The metadata is mostly recipes (.bb files), each saying where a piece of software’s source comes from, which patches to apply, what it depends on and how to build it, and configuration that picks a target MACHINE and a DISTRO policy. Recipes are grouped into layers stacked in a set order: OpenEmbedded-Core for the essentials, a board support package (BSP) layer from the chip or board vendor, distribution and application layers of your own, with .bbappend files adjusting other layers’ recipes without editing them. From one build you get a cross toolchain, a kernel, packages in RPM, DEB or IPK format, a root filesystem image for the board and an SDK for application developers. Poky, defined in the meta-yocto layer, is the reference distribution used for testing and as a starting point; the project says it is not meant to be shipped as a product as it is.
Two features make it practical at scale. The shared state (sstate) cache stores each task’s output under a signature of its inputs, so later builds, on the same machine or from a shared mirror, reuse everything that hasn’t changed; and builds are reproducible, 99.8% for the core-image-minimal image. Every build also records the licence of each package and can emit SPDX SBOMs, which product teams use for compliance and, since 6.0, post-build CVE checks with sbom-cve-check. A new version comes out every six months, and every two years one is a long-term support (LTS) release with four years of support: 5.0 Scarthgap (April 2024, supported to April 2028) and 6.0 Wrynose (April 2026, supported to April 2030, with Linux 6.18 and GCC 15.2). 6.1 Blacksail was tagged on October 20, 2026. The combined poky repository is no longer updated for new releases: since 5.3 you set up a build with bitbake-setup, which fetches the layers you choose, or clone BitBake, OpenEmbedded-Core and meta-yocto separately. Wind River Linux, MontaVista and Siemens’ (formerly Mentor’s) embedded Linux products are built with it.
Why teams pick it
- Full control of the image: you choose every package, version, compile option and init system, and get a minimal root filesystem for exactly one board
- Silicon vendors ship BSP layers for it, so new boards usually come with a ready Yocto layer
- Reproducible, cached builds: sstate reuses unchanged task outputs across machines, and identical inputs give near-identical binaries
- Compliance built in: licence manifests, source archives and SPDX SBOMs come out of every build, and LTS releases get four years of fixes
Watch out for
- Steep learning curve: BitBake’s syntax, variable overrides, layer priorities and task dependencies take time to learn, and errors can be hard to trace
- Heavy first builds: the 6.x quick start asks for at least 140 GB of disk, 32 GB of RAM and 16 cores, and a build from scratch compiles the whole toolchain and distribution
- You own the distribution: security updates, kernel patches and package upgrades are yours to track and rebuild, unlike a general-purpose distribution
- Releases outside the LTS line get only six months of support, so products should follow an LTS branch and plan migrations every two to four years
Alternatives
What all build tools have in common →Compare side by side →How it fits with other technologies
What Yocto Project uses
Build and boot an image for an emulated x86-64 machine, from the Yocto 6.0 quick start · bash
git clone https://git.openembedded.org/bitbake ./bitbake
./bitbake/bin/bitbake-setup init --non-interactive \
poky-master poky-with-sstate distro/poky machine/qemux86-64
source poky-master-poky-distro_poky-machine_qemux86-64/build/init-build-env
bitbake-config-build enable-fragment core/yocto/sstate-mirror-cdn # reuse prebuilt task outputs
bitbake core-image-sato # toolchain, kernel, packages and a root filesystem image
runqemu snapshot # boot it in QEMU without changing the image
# later: add a board's BSP layer and your own layer
bitbake-layers add-layer ../layers/meta-raspberrypi
bitbake-layers create-layer ../layers/meta-mylayerSupported releases (October 2026)#
Products should track an LTS branch; the others are replaced every six months.
| Release | Released | Supported until |
|---|---|---|
| 6.1 Blacksail | October 2026 | April 2027 |
| 6.0 Wrynose (LTS) | April 2026 | April 2030 |
| 5.0 Scarthgap (LTS) | April 2024 | April 2028 |
- 4.0 Kirkstone, the previous LTS, reached end of life with 4.0.33 in February 2026. 6.2 Garburn is planned for April 2027.
See it in a real stack
No architecture uses Yocto Project yet. Drop it into the playground and wire it up yourself.Open playground →Where it came from2003–2026
In 2001 Sharp’s Zaurus PDA shipped with embedded Linux, and Chris Larson founded OpenZaurus to replace its software, using the Buildroot build system. In January 2003 Larson, Michael Lauer and Holger Schurig started a more general build system for embedded Linux, OpenEmbedded, by porting hundreds of OpenZaurus packages to it; its task runner, BitBake, was inspired by Gentoo’s Portage. Richard Purdie built Poky as a stabilised branch of OpenEmbedded, with a core set of recipes for a limited set of architectures, at OpenedHand, which Intel bought in 2008.
Embedded Linux developers still faced different build systems and software from one architecture and vendor to the next. In October 2010 the Linux Foundation announced the Yocto Project to give them more consistent software and tools across architectures, built on Poky. It agreed to work with OpenEmbedded on a shared core, OpenEmbedded-Core, maintained together with BitBake. Release 1.0 followed on April 6, 2011, with a steering group of Dell, Intel, Mentor Graphics, OpenEmbedded e.V., Texas Instruments, Timesys and Wind River.
The project settled into two releases a year with LTS versions every two years, and added sstate mirrors, SPDX SBOMs and CVE tooling as compliance became part of shipping a device. In 2025 it stopped updating the combined poky repository for new releases in favour of bitbake-setup.
Why it’s built this way
- A build system, not a distribution
- Embedded products differ in hardware, size and licensing needs, so the project ships the means to build a tailored distribution, with Poky only as a reference, instead of one image for everyone.
- Layers stacked in priority order
- Separating BSP, distribution and application metadata lets a vendor’s board support, a company’s policy and a product’s software be maintained by different people and combined, with
.bbappendfiles changing other layers without forking them. - Share the core with OpenEmbedded
- Rather than compete with OpenEmbedded, the Yocto Project agreed on a common, tested core metadata set, OE-Core, so both communities maintain one set of essential recipes and one BitBake.
- Cache by input signature
- Compiling a whole distribution takes hours. Storing each task’s output under a signature of its inputs lets builds reuse results from earlier builds or a shared mirror and rebuild only what changed.
Timeline
- 2003
OpenEmbedded started by Chris Larson, Michael Lauer and Holger Schurig (January)
- 2008
Intel buys OpenedHand, maker of the Poky build system
- 2010
Linux Foundation announces the Yocto Project (October)
- 2011
Yocto Project 1.0 and its steering group (April 6)
- 2024
5.0 Scarthgap LTS released (April)
- 2025
The combined poky repository stops for new releases; bitbake-setup replaces it
- 2026
6.0 Wrynose LTS (April); 6.1 Blacksail tagged (October 20)
- The Architecture of Open Source Applications, Vol. 2: The Yocto Project (OpenZaurus, OpenEmbedded, BitBake, Poky)
- Wikipedia: OpenedHand (acquired by Intel in 2008; Poky)
- Linux Foundation: Yocto Project introduces new features (announced October 2010)
- Linux Foundation: Yocto Project steering group and release 1.0 (April 6, 2011)
- Wikipedia: Yocto Project (OE-Core, BitBake, commercial distributions)
- Yocto Project wiki: Releases
- Poky README: the poky repository master branch is no longer being updated
Sources13 · facts checked 28 October 2026
- Yocto Project Overview and Concepts Manual: introduction (OpenEmbedded build system, BitBake, recipes, layers, Poky, sstate, reproducibility, licence manifests)
- Yocto Project reference manual: FAQ (Poky, meta-poky, combined repository and bitbake-setup)
- Yocto Project quick build, 6.0 (bitbake-setup, sstate mirror fragment, core-image-sato, runqemu)
- Yocto Project quick build, current (140 GB disk, 32 GB RAM, 16 cores)
- Yocto Project: Release notes for 6.0 Wrynose (Linux 6.18, GCC 15.2, sbom-cve-check)
- CNX Software: Yocto Project 6.0 Wrynose released with Linux 6.18 LTS (May 2026)
- Yocto Project wiki: Releases (support periods, 6.1 Blacksail, 6.2 Garburn)
- Yocto Project: Releases
- OpenEmbedded-Core tags (yocto-6.1 tagged October 20, 2026)
- Poky README: the poky repository master branch is no longer being updated
- OpenEmbedded-Core LICENSE (metadata MIT unless stated)
- BitBake LICENSE (GPL-2.0-only)
- Wikipedia: Yocto Project (Wind River Linux, MontaVista, Mentor Embedded Linux)