2.1. Introduction

The Yocto Project is an open-source collaboration project whose focus is for developers of embedded Linux systems. Among other things, the Yocto Project uses an OpenEmbedded build system. The build system, which is based on the OpenEmbedded (OE) project and uses the BitBake tool, constructs complete Linux images for architectures based on ARM, MIPS, PowerPC, x86 and x86-64.

Note

Historically, the OpenEmbedded build system, which is the combination of BitBake and OE components, formed a reference build host that was known as "Poky" (Pah-kee). The term "Poky", as used throughout the Yocto Project Documentation set, can have different meanings.

The Yocto Project provides various ancillary tools for the embedded developer and also features the Sato reference User Interface, which is optimized for stylus-driven, low-resolution screens.

Here are some highlights for the Yocto Project:

You can use the Yocto Project to generate images for many kinds of devices. As mentioned earlier, the Yocto Project supports creation of reference images that you can boot within and emulate using QEMU. The standard example machines target QEMU full-system emulation for 32-bit and 64-bit variants of x86, ARM, MIPS, and PowerPC architectures. Beyond emulation, you can use the layer mechanism to extend support to just about any platform that Linux can run on and that a toolchain can target.

Another Yocto Project feature is the Sato reference User Interface. This optional UI that is based on GTK+ is intended for devices with restricted screen sizes and is included as part of the OpenEmbedded Core layer so that developers can test parts of the software stack.

While the Yocto Project does not provide a strict testing framework, it does provide or generate for you artifacts that let you perform target-level and emulated testing and debugging. Additionally, if you are an Eclipse™ IDE user, you can install an Eclipse Yocto Plug-in to allow you to develop within that familiar environment.

By default, using the Yocto Project to build an image creates a Poky distribution. However, you can create your own distribution by providing key Metadata. A good example is Angstrom, which has had a distribution based on the Yocto Project since its inception. Other examples include commercial distributions like Wind River Linux, Mentor Embedded Linux, ENEA Linux and others. See the "Creating Your Own Distribution" section in the Yocto Project Development Tasks Manual for more information.