Yocto Setup Environment
To build Qualcomm Linux for IQ-9075, prepare a supported x86-64 Linux host with ample fast storage, memory, swap, required packages, a UTF-8 locale, and a pinned kas version.
Host Computer Requirements
Hardware Configuration
- x86 machine
- Quad-core CPU (e.g., Intel i7-2600 @ 3.4 GHz or equivalent/better)
- 300 GB free disk space (swap partition > 32 GB)
- 16 GB RAM
Operating System
- Ubuntu 22.04
Required Tools
- Git 1.8.3.1 or later
- Tar 1.28 or later
- Python 3.10.2 or later
- GCC 10.1 or later
- GNU Make 4.0 or later
- Kas 4.8 or later
Permissions
- Sudo privileges are required to run certain commands
How to setup the host computer environment
Install the following packages to prepare your host environment for the Yocto build. Update first:
sudo apt update
Install dependencies:
sudo apt install gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint xterm python3-subunit mesa-common-dev zstd liblz4-tool locales tar python-is-python3 file libxml-opml-simplegen-perl vim whiptail libacl1
Install pipx:
sudo apt install pipx
Add kas to PATH (restart shell after):
# This command should add the kas binary location to your PATH. # Restart your shell session after running this command for the changes to take effect. pipx ensurepath
Install kas:
# The kas version is expected to be 4.8 or higher pipx install kas
Set up locales if you haven't set them up already, by using the following commands:
sudo locale-gen en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
At this point the environment is ready to sync the sources, this step will be demonstrated in the Build Image page. Qualcomm Linux uses the kas tool to sync the meta layers, configure the environment, and execute the BitBake commands. QLI also uses the kas tool to sync and build the Yocto meta layers. For every critical release, Kas lock files record the meta-layer repository information in meta-qcom-releases.
You can checkout the lock files for each release using the meta-qcom-release-tag. The meta-qcom release tag follows the syntax qli-<version>. For example, the meta-qcom release tag can be qli-2.0-rc2, where 2.0-rc2 is the release version.
For more information go to Qualcomm's Build from source Documentation. The following section will dive into how to use Kas.
FAQ
- How much disk does an IQ-9075 build need?
- The current workflow calls for roughly 300 GB, but downloads, sstate, debug symbols, and multiple builds can need more. Monitor free space and inodes.
- Why install kas with pipx?
- pipx isolates the application and makes its version easy to pin.
- Can I build on Ubuntu 24.04?
- Only after checking release support. A newer host may introduce incompatible Python or package versions; a tested container is safer.
Related pages
- Qualcomm Dragonwing Technical Guide/Bring Up/Yocto Build
- Qualcomm Dragonwing Technical Guide/Bring Up/Yocto Build/Build Image
- RidgeRun Yocto Developer Guide
References