OpenEmbedded/Yocto Project hardware enablement layer for Qualcomm based platforms.
This layer provides additional recipes and machine configuration files for Qualcomm platforms.
This layer depends on:
URI: https://github.com/openembedded/openembedded-core.git
layers: meta
branch: master
revision: HEAD
This layer has an optional dependency on meta-oe layer:
URI: https://github.com/openembedded/meta-openembedded.git
layers: meta-oe
branch: master
revision: HEAD
The dependency is optional, and not strictly required. When meta-oe is enabled in the build (e.g. it is used in BBLAYERS) then additional recipes from meta-qcom are added to the metadata. You can refer to meta-qcom/conf/layer.conf for the implementation details.
- master: Primary development branch, with focus on upstream support and compatibility with the most recent Yocto Project release.
- wrynose: LTS branch based on the Yocto Project 6.0 release, used by Qualcomm Linux 2.x.
- all stable branches up until styhead: Legacy branches maintained by Linaro, prior to the migration to Qualcomm-linux.
See conf/machine for the complete list of supported devices.
All contemporary boards are supported by a single qcom-armv8a machine. It can be used instead of using the per-board configuration file. In order to enable support for the particular device extend the qcom-armv8a.conf file.
Please refer to the Yocto Project Reference Manual to set up your Yocto Project build environment.
Please follow the instructions below for a KAS-based build. The KAS tool offers an easy way to setup bitbake based projects. For more details, visit the KAS documentation.
The steps below use kas-container, which runs the build inside a container,
so the only host requirements are a container runtime (Docker or Podman) and
the kas-container wrapper script — kas, bitbake and the build dependencies do
not need to be installed on the host.
-
Get the
kas-containerscript on yourPATH(from kas-container). -
Clone meta-qcom layer
git clone https://github.com/qualcomm-linux/meta-qcom.git -b master
-
Build using the KAS configuration for one of the supported boards
kas-container build meta-qcom/ci/rb3gen2-core-kit.yml
This reuses the same ci/<board>.yml configurations that CI uses. See
AGENTS.md for more advanced usage, including sharing the
DL_DIR/SSTATE_DIR caches across builds.
Note: To run kas natively on the host instead of in a container, install kas by following the kas installation guide, then use
kas buildin place ofkas-container buildin the steps above.
For a manual build without KAS, refer to the Yocto Project Quick Build.
For instructions on building the QDL tool, preparing the board, and flashing images over USB (EDL mode), see Flashing images.
Please refer to the security recommendations for production builds documented here: Security Recommendations
Milestone releases for meta-qcom are managed directly in this repository using git tags. Each release tag captures the exact state of the layer for that milestone, ensuring reproducible and stable builds. The list of available release tags can be found on the meta-qcom tags page.
To build a specific release, clone the repository at the desired release tag and build it with KAS using the configuration for your target machine and distro.
-
Clone meta-qcom at the release tag
git clone https://github.com/qualcomm-linux/meta-qcom.git -b <meta-qcom-release-tag>
Replace
<meta-qcom-release-tag>with the tag of the release you want to build (see the tags page). -
Build using the KAS configuration for your machine and distro
kas build meta-qcom/ci/<machine>.yml:meta-qcom/ci/<distro>.yml
Replace
<machine>with the target board and<distro>with the desired distro configuration. For example:kas build meta-qcom/ci/rb3gen2-core-kit.yml:meta-qcom/ci/qcom-distro.yml
Refer to
meta-qcom/ci/for the complete list of available machine and distro configurations.
Please submit any patches against the meta-qcom layer (branch master)
by using the GitHub pull-request feature. Fork the repo, create a branch,
do the work, rebase from upstream, and create the pull request.
For some useful guidelines when submitting patches, please refer to: Preparing Changes for Submission
Pull requests will be discussed within the GitHub pull-request infrastructure.
Branch kirkstone is not open for direct contributions, please raise an issue with the suggested change instead.
Please make sure to visit go/GitHubBasicsDoc and go/OSSBestPractices before proposing changes.
- GitHub Issues: meta-qcom issues
- Pull Requests: meta-qcom pull requests
- Anuj Mittal anuj.mittal@oss.qualcomm.com
- Dmitry Baryshkov dmitry.baryshkov@oss.qualcomm.com
- Koen Kooi koen.kooi@oss.qualcomm.com
- Nicolas Dechesne nicolas.dechesne@oss.qualcomm.com
- Ricardo Salveti ricardo.salveti@oss.qualcomm.com
- Sourabh Banerjee sbanerje@qti.qualcomm.com
- Viswanath Kraleti viswanath.kraleti@oss.qualcomm.com
This layer is licensed under the MIT license. Check out COPYING.MIT for more details.
