# `meta-qcom-distro` This layer provides a reference distribution configuration for Qualcomm Linux. This layer defines the image recipes and package groups. ## BitBake classes Qualcomm Linux supports both SSH and UART serial shell for device access. You can choose either SSH or UART to access the device. You can also use ADB to debug issues when IP interfaces are down or to transfer large files. The following table provides an introduction to the BitBake classes, which are available at [Classes](https://github.com/qualcomm-linux/meta-qcom-distro/tree/scarthgap/classes). | BitBake class | Description | | --- | --- | | `image-adbd.bbclass` | The `image-adbd.bbclass` class in `meta-qcom-distro` installs adbd
in the image. The adbd daemon remains disabled unless
`IMAGE_FEATURES` contains the `enable-adbd` feature.
You can disable adbd by manually removing `/etc/usb-debugging-enabled`
from `rootfs`. | | `image-qcom-deploy.bbclass` | Deploys the image files available in
`/build-/tmp-glibc/deploy/images//`.
The generated images are deployed in the `` subdirectory. | ## Distribution configuration The following table provides an introduction to the distribution configurations, which are available on [GitHub](https://github.com/qualcomm-linux/meta-qcom-distro/tree/scarthgap/conf/distro). | Distribution configuration | Description | | --- | --- | | `conf/distro/qcom-wayland.conf` | This distribution configuration file defines the `qcom-wayland` distribution.
You can use the `qcom-wayland` distribution in the following example command:



>
>
> MACHINE=qcs6490-rb3gen2-core-kit DISTRO=qcom-wayland QCOM_SELECTED_BSP=base source setup-environment
> Copy to clipboard



The `meta-qcom-distro/conf/distro/include/qcom-base.inc` configuration
defines common DISTRO\_FEATURES. The `meta-qcom-distro/conf/distro/qcom-wayland.conf` configuration
adds the following features:



>
>
>

    >
  • wayland


  • >
  • vulkan


  • >
  • opengl


  • >




The Yocto Project documentation defines these distribution features at
[Distribution features](https://docs.yoctoproject.org/5.0.15/singleindex.html#distro-features). | | `conf/distro/include/qcom-base.inc` | INIT\_MANAGER is set to `systemd`.
For Yocto Project documentation on INIT\_MANAGER,
see [INIT_MANAGER](https://docs.yoctoproject.org/5.0.15/singleindex.html#term-INIT_MANAGER).
Other DISTRO\_FEATURES enabled are:


DISTRO_FEATURES:append = ” pam overlayfs acl xattr selinux ptest security virtualization tpm usrmerge sota”
Copy to clipboard


To understand the purpose of these DISTRO\_FEATURES, see
[Distribution features](https://docs.yoctoproject.org/5.0.15/singleindex.html#distro-features).


This file selects `systemd` as INIT\_MANAGER and `udev` as the DEV\_MANAGER. | | `conf/distro/include/qcom-security_flags.inc` | This file includes the security flags as defined in
[security flags](https://git.yoctoproject.org/poky/tree/meta/conf/distro/include/security_flags.inc?h=scarthgap). | ## Package groups Package groups are defined in `meta-qcom-hwe` and `meta-qcom-distro`. These package groups help you understand the features defined by the Qualcomm BSP. The following table provides an introduction to the package groups: | Package group | Description | | --- | --- | | `packagegroup-qcom.bb` | Package group that contains all the basic packages. | | `packagegroup-qcom-multimedia.bb` | Package group that contains packages to enable multimedia support:



>
>
>

    >
  • packagegroup-container


  • >
  • packagegroup-qcom-audio


  • >
  • packagegroup-qcom-camera


  • >
  • packagegroup-qcom-display


  • >
  • packagegroup-qcom-fastcv


  • >
  • packagegroup-qcom-graphics


  • >
  • packagegroup-qcom-k8s


  • >
  • packagegroup-qcom-opencv


  • >
  • packagegroup-qcom-video


  • >
  • python3-docker-compose


  • >
  • packagegroup-qcom-iot-base-utils


  • >
  • packagegroup-qcom-location


  • >




The `packagegroup-qcom-location` is defined in `meta-qcom-extras` metadata layer. | | `packagegroup-qcom-test-pkgs.bb` | Package group that contains test packages. | ## Image recipes The `meta-qcom-distro` Qualcomm Linux metadata layer defines image recipes, which are available on [GitHub](https://github.com/qualcomm-linux/meta-qcom-distro/tree/scarthgap/recipes-products/images). The following table lists various images, their `IMAGE_FEATURES`, and the functions that the images serve: | Image recipe | Description of the image | | --- | --- | | `qcom-minimal-image.bb` | Defines a small `rootfs` to boot to the shell.


The `IMAGE_FEATURES` enabled are as follows:


IMAGE_FEATURES += "splash tools-debug allow-root-login post-install-logging enable-adbd"
Copy to clipboard


For more information about `IMAGE_FEATURES`, see
[Image features](https://docs.yoctoproject.org/5.0.15/singleindex.html#image-features). | | `qcom-console-image.bb` | Extends `qcom-minimal-image` by adding more packages
and enabling more `IMAGE_FEATURES`:


IMAGE_FEATURES += “package-management ssh-server-openssh”
Copy to clipboard | | `qcom-multimedia-image.bb` | Requires `DISTRO_FEATURE` wayland and it includes
all the multimedia packages in `rootfs`. | | `qcom-multimedia-test-image.bb` | Includes test packages in `rootfs` to test `qcom-multimedia-image`. | | `qcom-multimedia-crossesdk-image.bb` | Generates eSDK for `qcom-multimedia-image`. | | `qcom-guestvm-image.bb` | A minimal kernel-based virtual machine (KVM) image with boot to shell support. | ## QDL flashing tool QDL is a flashing tool that communicates with the USB devices to upload flash loader to the device. The flash loader flashes the images to universal flash storage (UFS) or embedded multimedia card (eMMC) built into the device. For more information about `QDL flashing`, see [QDL](https://docs.qualcomm.com/bundle/publicresource/topics/80-70029-254/flash_images.html). Last Published: Mar 16, 2026 [Previous Topic meta-qcom-hwe](https://docs.qualcomm.com/bundle/publicresource/80-70029-27/topics/meta_qcom_hwe.md) [Next Topic meta-qcom-realtime](https://docs.qualcomm.com/bundle/publicresource/80-70029-27/topics/meta_qcom_realtime.md)