Yocto architecture overview
The Yocto Project provides tools, software, configurations, and best practices to create customized Linux images for embedded and IoT devices, or anywhere a customized Linux OS is needed. The core components of the Yocto Project are:- Poky — the reference distribution and build system, combining OpenEmbedded-Core, BitBake, and configuration files.
- OE-Core (
openembedded-core) — the minimal set of recipes and classes that form the foundation of any Yocto-based build. - BitBake — the task execution engine that reads recipes and builds software packages and images.
- The Yocto Project
- The Yocto Project documentation
- Yocto upstream reference (wrynose branch)
Qualcomm Linux Yocto stack
The Qualcomm Linux environment consists of several community-maintained metadata layers stacked on top of each other. Qualcomm-maintained layers sit on top of community layers to provide additional software components required for Qualcomm development kits.| Layer type | Examples |
|---|---|
| Qualcomm-maintained | meta-qcom, meta-qcom-distro, meta-qcom-extras |
| Community (upstream) | openembedded-core, meta-openembedded, meta-virtualization, meta-selinux, meta-updater |
Key concepts
Layers
A layer is a collection of recipes, configuration files, and classes that extend or override the build system. Layers are stacked, with higher layers taking precedence. Qualcomm uses thekas tool to manage which layers are included in a build.
Recipes
A recipe (.bb file) describes how to fetch, configure, compile, and install a single software component. BitBake processes recipes to produce packages and images.
Machines
A machine configuration (.conf file) describes the target hardware: the SoC family, kernel, bootloader, and device tree. Selecting a machine tells BitBake which hardware-specific settings to apply.
Distributions (DISTRO)
A distribution configuration defines the software policy for the image: which init system to use, which features to enable (e.g., SELinux, KVM, SOTA), and which package manager to use. Qualcomm provides several reference distributions inmeta-qcom-distro.
Images
An image recipe (.bb file) defines the complete set of packages installed in the root filesystem. Qualcomm provides reference images ranging from minimal console images to full multimedia and proprietary images.
BSP vs distro vs product layers
| Layer role | Purpose | Qualcomm example |
|---|---|---|
| BSP layer | Hardware enablement: machine configs, firmware, kernel recipes | meta-qcom |
| Distro layer | Software policy: distributions, image recipes, package groups | meta-qcom-distro |
| Optional/extras layer | Source-compiled components for registered users | meta-qcom-extras |
Guide sections
| Section | Description |
|---|---|
| Qualcomm Linux Metadata Layers | One authoritative place for layer understanding |
| meta-qcom | Machine configurations, firmware, and kernel recipes |
| meta-qcom-distro | Distribution configurations, image recipes, and package groups |
| meta-qcom-extras | Optional layer for registered users |
| Build Qualcomm Linux Using Yocto | Yocto-specific build flow |
| Configure Qualcomm Linux software components | Key software components and features |
| Customize Qualcomm Linux | Common real-world extension patterns |
| Debug | Resolve build-time problems and issues |

