Skip to content

qualcomm-linux/meta-qcom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4,609 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

meta-qcom

Build on push Nightly Build

Introduction

Yocto Compatible Project Badge

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.

Branches

  • 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.

Machine Support

See conf/machine for the complete list of supported devices.

Generic machine support

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.

Quick build

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.

  1. Get the kas-container script on your PATH (from kas-container).

  2. Clone meta-qcom layer

    git clone https://github.com/qualcomm-linux/meta-qcom.git -b master
  3. 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 build in place of kas-container build in the steps above.

For a manual build without KAS, refer to the Yocto Project Quick Build.

Flash

For instructions on building the QDL tool, preparing the board, and flashing images over USB (EDL mode), see Flashing images.

Security recommendations for production

Please refer to the security recommendations for production builds documented here: Security Recommendations

Releases

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.

  1. 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).

  2. 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.

Contributing

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.

Qualcomm Internal

Please make sure to visit go/GitHubBasicsDoc and go/OSSBestPractices before proposing changes.

Communication

Maintainer(s)

License

This layer is licensed under the MIT license. Check out COPYING.MIT for more details.

About

OpenEmbedded/Yocto Project BSP layer for Qualcomm based platforms

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors