Lesson
Introduction to the Yocto Project
An Introduction to the Yocto Project - What, Why and Where
The Yocto Project, powered by OpenEmbedded, is a framework for building a custom Linux distribution around your actual product requirements:
- your hardware
- your kernel configuration
- the packages you need
- only the packages you need
Why Create a Yocto Project?
The main reason is that it has become the industry standard for creating embedded Linux distributions. Most hardware vendors provide a board support package layer for their hardware.
- Flexible
- Strong vendor support
- Reproducible builds
- Scalable
- Compliance
- Flexible
- Steep learning curve
- Length of first build time
- Can be hard to debug
The Reality
Yocto is not hard only because it is complex. It is hard because it is unforgiving of poor setup.
What is What?
BitBake
This is the build engine itself. It contains the main bitbake script along
with the supporting tools used to execute builds.
OpenEmbedded Core
This provides the core metadata and recipes needed to start a project.
While it is possible to build a project with just these two components, it will not be very useful. Additional layers will be required to add machine definitions or additional software.
What about Poky?
Before 2025, this was always a source of confusion, because Poky referred both to the core setup used to get started and to a reference distribution.
In 2025, this was split into two separate repositories:
- bitbake
- the build tools and setup
- meta-yocto, which contains two layers
meta-poky- the Poky reference distributionmeta-yocto-bsp- configuration for reference hardware- generic x86
- generic Arm
- BeagleBone Black
Hopefully, this split will reduce the confusion and make future maintenance easier.
What about OpenEmbedded?
A Yocto Project is the name of the Linux Foundation Collaborative Project. It makes use of the OpenEmbedded build framework to create Linux distributions, mainly for embedded devices.
In short:
The Yocto Project uses OpenEmbedded to get the job done.
Summary
The Yocto Project gives you a structured way to build a Linux distribution that is tailored to your hardware, software, and long-term maintenance needs.
The main ideas from this lesson are:
- the Yocto Project is a framework for creating custom Linux distributions
- BitBake is the build engine that executes the build tasks
- OpenEmbedded Core provides the base metadata and recipes
- Poky is a reference starting point and should not be the final production distro
- With a modern setup, you do not even need Poky
- success with Yocto depends heavily on good structure and discipline
Check your understanding
Quick quiz: introduction
A few checks on the core Yocto concepts from this lesson.