No description
  • BitBake 76.1%
  • Python 15.6%
  • Shell 4.3%
  • PHP 3.8%
  • Assembly 0.2%
Find a file
Ricardo Salveti e156427624
Some checks are pending
Build on push / build (push) Waiting to run
Build on push / test (push) Blocked by required conditions
Build on push / publish-test-results (push) Blocked by required conditions
QuIC Organization Repolinter / repolinter (push) Waiting to run
ci: base.lock: update meta-updater layer to latest (#2339)
ci: base.lock: update meta-updater layer to include required selinux
changes

Changes in meta-updater:
7f5eef0  ostree: Exclude /usr/etc in OSTree build-time relabel
f9370ea refpolicy-targeted: allow generator to read symlinks and manage
runtime files
2026-06-03 12:16:56 -03:00
.github ci: u-boot: enable qcom-distro for U-Boot builds (#2235) 2026-06-03 16:48:24 +02:00
ci ci: base.lock: update meta-updater layer to latest (#2339) 2026-06-03 12:16:56 -03:00
classes qli-mirrors: fix typo in QLI_MIRRORS_URI 2026-04-24 13:31:05 -03:00
classes-recipe fit-dtb-compatible: invert key direction and split linux-qcom-only entries (#2305) 2026-05-30 08:50:35 +02:00
conf fit-dtb-compatible: add el2 DTBO mapping for IQ-X5121 Evaluation Kit 2026-06-02 19:43:55 +08:00
dynamic-layers camxlib-hamoa: Update to the 1.0.25 revision (#2284) 2026-06-03 07:29:34 +02:00
lib fit-dtb-compatible: split linux-qcom-only entries into separate include 2026-05-29 09:36:44 +00:00
licenses licenses: add LICENSE.qcom and LICENSE.qcom-2 licenses 2025-11-25 05:50:49 +05:30
patches/meta-oe ci/qcom-distro: fix building MariaDB for Glymur 2026-05-20 18:46:14 +03:00
recipes-bsp qcom-ptool: update qcom-ptool revision 2026-06-03 10:48:40 +05:30
recipes-connectivity/sigma-dut recipes-connectivity: Update sigma-dut revision 2026-05-21 09:16:44 +08:00
recipes-core/systemd systemd: allow non-root access to system dma-heap device 2026-03-10 00:37:53 +05:30
recipes-devtools qc-image-unpacker: add a fix for strrchr() conformance to C23 2026-03-13 23:19:28 +05:30
recipes-graphics recipes-graphics: backport A704 GPU support patch 2026-05-26 20:17:19 +05:30
recipes-kernel linux-qcom-next: update to tag qcom-next-7.1-rc4-20260601 (#2165) 2026-06-03 13:01:00 +02:00
recipes-ml/qairt qairt-sdk: Install Hexagon v73 libs for cdsp1 2026-04-30 13:06:56 +05:30
recipes-multimedia gst-plugins-imsdk: upgrade 0.1.4 -> 0.1.5 2026-06-01 15:27:57 +05:30
recipes-support tqftpserv: upgrade 1.1.1 -> 1.2 2026-05-19 01:56:45 +03:00
recipes-test initramfs-test-image: update alsa-utils-speaker-test package name 2026-01-15 17:27:52 -03:00
.gitignore Add .gitignore file 2026-02-19 18:24:32 -03:00
AGENTS.md AGENTS.md: require Signed-off-by on every commit 2026-05-22 00:05:31 +00:00
COPYING.MIT Create initial BSP layer for IFC6410 2014-07-23 00:48:29 +02:00
README README: add symlink 2017-04-11 14:26:32 +02:00
README.md README.md: fix content and style issues 2026-05-05 17:47:23 +02:00
SECURITY.md docs: fix markdown lint issues in README.md and SECURITY.md 2026-05-05 17:47:23 +02:00

meta-qcom

Build on push Nightly Build

Introduction

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

  1. Install kas tool

    sudo pip3 install kas
    
  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 build meta-qcom/ci/rb3gen2-core-kit.yml
    

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

Flash

Build QDL tool

QDL tool communicates with USB devices of VID:PID 05c6:9008 and uploads a flash loader, which is then used for flashing images. Follow the steps below to download and compile QDL for your platform:

  1. Clone the QDL repository:

    git clone https://github.com/linux-msm/qdl
    
  2. Read the README and install build dependencies (libxml2-dev and libusb-1.0-0-dev). On Debian-based distribution run:

    sudo apt install libxml2-dev libusb-1.0-0-dev
    
  3. Build the QDL tool using make:

    cd qdl
    make
    

As QDL tool requires raw USB access, to be able to run it as a non-root user create an appropriate udev rule by following steps described in Update udev rules

Prepare the Board

RB3 Gen 2

Location of all DIP switches, USB debug port and buttons (F_DL for instance) can be found on RB3 Gen 2 Quick Start Guide.

  1. Set up DIP_SW_0 positions 1 and 2 to ON. This enables serial output to the debug port.
  2. To put the device into EDL mode press and hold the F_DL button before connecting the power cable.

Flash images

Make sure that ModemManager is not running, disable it if necessary.

  1. Connect the micro USB debug cable to the host. Baud rate should be 115200. Check in dmesg how UART shows up (e.g. /dev/ttyUSB0):

    $ sudo dmesg | grep tty
    [217664.921039] usb 3-1.1.4: FTDI Serial Device converter attached to ttyUSB0
    
  2. Use your favorite serial communication program to access the console, such as minicom, picocom, putty etc. Baud rate should be 115200:

    picocom -b 115200 /dev/ttyUSB0
    
  3. Plug in the USB-C cable from the host.

  4. Use the QDL tool (built in the previous section) to flash the images:

    cd build/tmp/deploy/images/rb3gen2-core-kit/core-image-base-rb3gen2-core-kit.rootfs.qcomflash
    qdl --debug prog_firehose_ddr.elf rawprogram*.xml patch*.xml
    

    If you have multiple boards connected the host, provide the serial number of the board to flash through --serial param:

    qdl --serial=0AA94EFD --debug prog_firehose_ddr.elf rawprogram*.xml patch*.xml
    

    Serial can be obtained using lsusb -v -d 05c6:9008 command.

  5. Ensure that the device is booted in Emergency Download (EDL) mode (please refer to Quick Start Guide for your board). The process of flashing should start automatically:

    USB: using out-chunk-size of 1048576
    HELLO version: 0x2 compatible: 0x1 max_len: 1024 mode: 0
    READ64 image: 13 offset: 0x0 length: 0x40
    

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.