Skip to main content
This section establishes the mental models needed before working with Qualcomm Linux Yocto builds. Understanding these concepts reduces confusion when navigating layers, machines, distros, and images.

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.
For an introduction to Yocto, see the following pages created by the Yocto Project®:

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 typeExamples
Qualcomm-maintainedmeta-qcom, meta-qcom-distro, meta-qcom-extras
Community (upstream)openembedded-core, meta-openembedded, meta-virtualization, meta-selinux, meta-updater
For a full description of each layer, see Qualcomm Linux Metadata Layers.

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 the kas 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 in meta-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 rolePurposeQualcomm example
BSP layerHardware enablement: machine configs, firmware, kernel recipesmeta-qcom
Distro layerSoftware policy: distributions, image recipes, package groupsmeta-qcom-distro
Optional/extras layerSource-compiled components for registered usersmeta-qcom-extras

Guide sections

SectionDescription
Qualcomm Linux Metadata LayersOne authoritative place for layer understanding
meta-qcomMachine configurations, firmware, and kernel recipes
meta-qcom-distroDistribution configurations, image recipes, and package groups
meta-qcom-extrasOptional layer for registered users
Build Qualcomm Linux Using YoctoYocto-specific build flow
Configure Qualcomm Linux software componentsKey software components and features
Customize Qualcomm LinuxCommon real-world extension patterns
DebugResolve build-time problems and issues