Skip to main content
This page is intended for users who want to build Qualcomm Linux from scratch using the Yocto Project. It introduces the key Yocto concepts required for the build and walks through the overall workflow—from configuration to execution.

Host System Requirements

  • Configuration
    • x86 machine
    • Quad-core CPU, for example, Intel i7-2600 at 3.4 GHz (equivalent or better)
    • 300 GB free disk space (swap partition > 32 GB)
    • 16 GB RAM
  • Tools
    • Git 1.8.3.1 or later versions
    • Tar 1.28 or later versions
    • Python 3.10.2 or later versions
    • GCC 10.1 or later versions
    • GNU Make 4.0 or later versions
    • Kas 4.8 or later versions
  • Permissions
    • sudo permission is required to run a few commands

Host Setup

The following instructions are intended for use on a Ubuntu host system. The Yocto build is also supported on other distributions compatible with Yocto, but no validation is performed against them.
  • Install the following packages to prepare your host environment for the Yocto build
  • Qualcomm uses the kas tool to sync and build the Yocto project. Use the following steps to install kas on your system
    On older Ubuntu versions, the kas version provided by the system package manager may be outdated. Using pipx is the recommended way to install kas.
    1. Install pipx
    2. Add the pipx install location to your PATH
      This command updates your shell’s startup file, so the change only takes effect in new shell sessions. Restart your shell session before continuing to the next step.
    3. Install kas (version 4.8 or higher is required)
  • Verify if the kas installation is successful.

kas configuration model

Qualcomm uses the kas tool to sync and build the Yocto project. The kas configuration model uses YAML files to declare which layers, machines, and distributions to include in a build. These YAML files are located in the meta-qcom/ci/ directory. A typical kas build command combines:
  • A machine YAML file (e.g., meta-qcom/ci/iq-9075-evk.yml)
  • A distribution YAML file (e.g., meta-qcom/ci/qcom-distro.yml)

Selecting MACHINE and DISTRO

The following table lists the supported MACHINE and DISTRO combinations. Use these values when invoking the kas command.

Configuration Parameters

The following table describes the build tags for the current release. These values need to be substituted in the build commands.

Build Instructions

  • Download Qualcomm’s Yocto layer meta-qcom. For the latest <meta-qcom-release-tag>, see Configuration Parameters.
  • Build the software image using kas. You define build targets based on machine and distro combinations.
    In some host machines https://git.yoctoproject.org/git/meta-virtualization may fail to clone. If you encounter this, configure Git to automatically redirect the URL to the working one:
    To verify the redirect is in place:
    Export GITCONFIG_FILE parameter to ensure the ~/.gitconfig configuration is visible to the kas environment
  • The build creates a single tarball containing all the relevant files to perform a full clean flash, including partition metadata, boot firmware, ESP partition and the rootfs. After a successful build, check if the qcomflash tarball exists in the build artifacts. The following examples use qcom-multimedia-proprietary-image as the image name.

Next steps