Skip to main content
Use one of the following workflows to evaluate overlays:

Flash the image and install packages corresponding to a release snapshot

Use this workflow to deploy the image and packages built from the Qualcomm Linux 2.0 release. The images and packages corresponding to the Qualcomm Linux release milestone are posted on CodeLinaro. The package server hosts all the packages generated from the Qualcomm Linux 2.0 Config #2 build, that is, qcom-multimedia-proprietary-image. These packages are generated from the qli-2.0 release snapshot of the Qualcomm Linux 2.0 release. The scope of this package server is to provide an image snapshot corresponding to Config #1, that is qcom-multimedia-image, and the corresponding packages generated from Config #2 (qcom-multimedia-proprietary-image). A high-level overview of the steps involved in flashing the image and installing packages from the package server of the release snapshot are as follows. For detailed instructions, see Install packages from the Qualcomm Linux reference package server.
  1. Download and flash the qcom-multimedia-image upstream image.
  2. Install the packages corresponding to the overlays:
    1. Add the following package feed URL available as part of Qualcomm Linux 2.0 release: https://artifacts.codelinaro.org/qli-yocto-rpm-signed/qli-2.0/rpm
    2. Install package on the device using package manager.
  3. To manage the configurations, update /etc/modprobe.d/blacklist.conf for driver selection.
  4. Set EFI variables to select the camera driver.
    • If required, set the EFI variable for the DTB overlay indication to UEFI.
Figure: Qualcomm Linux overlay workflow

Figure: Qualcomm Linux overlay workflow

Install packages from the Qualcomm Linux reference package server

You can install packages using overlays without software builds. A test server is set up on CodeLinaro with all the images and RPM packages. To flash images and install RPMs for overlays, do the following:
  1. To flash qcom-multimedia-image for RB3Gen2 Core Kit, do the following:
    1. Download qcom-multimedia-image-rb3gen2-core-kit.rootfs.qcomflash.tar.gz from the artifactory server.
    2. Unpack qcom-multimedia-image-rb3gen2-core-kit.rootfs.qcomflash.tar.gz.
    3. Flash it using the Qualcomm Device Loader (QDL) tool or Product Configuration Assistant Tool (PCAT).
  2. Bring up and log in to your device.
  3. To configure the yum.repos.d repository on the device, append the following lines to the configuration file:
Note
  • /etc/yum.repos.d/ is a directory that stores repository configuration files. Ensure this directory exists; if not, create it.
  • Inside this directory, ensure the file overlay.repo exists. If it does not, create it at /etc/yum.repos.d/overlay.repo.
  • To configure the yum.repos.d repository, append the required configuration to /etc/yum.repos.d/overlay.repo.
  • The yum.repos.d repository is protected using GNU Privacy Guard (GPG)-based signing to ensure authenticity and integrity of the repository metadata. These settings in the .repo file enforce the following checks:
    • gpgkey defines the trusted public GPG key used to verify the repository metadata.
    • repo_gpgcheck=1 enables mandatory GPG validation of the repository before any package operation.
The second block, [overlay-<target-specific>], determines which feed the DNF uses for your hardware or build target. For example:
Ensure that you append the appropriate target-specific line so that DNF fetches packages from the right directory.
  1. To refresh the package index using your custom configuration file, run the following command:
    Note If you experience an SSL certificate validation error during DNF update, ensure that your system time is accurate. In this step, DNF does the following:
    1. Downloads the repository metadata (for example, repomd.xml and related files)
    2. Retrieves the associated metadata signatures
    3. Accepts and uses the repository metadata only if the verification is successful

Run DNF installation commands to derive Config #2, Config #3 and Config #4

Note As Config #1 and Config #2 are images, commands are required to install overlays only for Config #3 and Config #4. You should flash the device with Config #1, that is qcom-multimedia-image. The following table lists the dnf install commands to install overlay packages and configuration file changes you must make on the device to derive Config #2: Table: DNF commands and configuration file changes for Config #2 The following table lists the dnf install commands to install overlay packages and configuration file changes you must make on the device to derive Config #3: Table: DNF commands and configuration file changes for Config #3 The following table lists the dnf install commands to install overlay packages and the configuration file changes you must make on the device to derive Config #4: Table: DNF commands and configuration file changes for Config #4 To verify that the RPM and driver packages were installed successfully for each overlay, see Verify the installation of RPM and driver packages. Note The package server is based on the Qualcomm Linux 2.0 release snapshot to demonstrate overlays. It’s not intended to meet the needs of a production-class packaging server. When next version of Qualcomm Linux is released, a new feed (package server URL) will provide packages generated from that release. However, package-based upgrades from one version to another are not guaranteed to work.

Verify the installation of RPM and driver packages

The following table lists the dnf and lsmod commands to verify that the RPM and driver packages for overlays were installed successfully: Table: RPM and driver packages verification commands To uninstall overlays, see Uninstall overlay configurations and switch to upstream drivers.

Build locally, flash images, and use packages from the local build

Note For instructions on how to build from source, see Qualcomm Linux Build Guide. Use this workflow to build images and packages by cloning meta-qcom. You can also use this workflow if you want to integrate your changes. The images and packages corresponding to a Qualcomm Linux release are built locally. You can flash images and install packages from the local workspace.

Set up a local workspace

  1. To clone meta-qcom, run the following command:
  2. To build the image for Config #1 qcom-multimedia-image, run the following command:
  3. To build the image for Config #2 qcom-multimedia-proprietary-image and all packages, run the following command:
    Note qcom-distro.yml sets DISTRO to qcom-distro. qcom-distro enables package management using DNF and allows RPMs to be installed. Other DISTRO configurations available in meta-qcom-distro enable SOTA using OSTree, and disable package management.

Install packages and configure the RPM repository

  1. Flash qcom-multimedia-image using QDL.
  2. Host all the packages from the rpm directory of qcom-multimedia-proprietary-image. The rpm directory is located at build/tmp/deploy/rpm.
  3. To configure the RPM repository on the device, append the following lines to the configuration file:
Note
  • /etc/yum.repos.d/ is a directory that stores repository configuration files. Ensure this directory exists; if not, create it.
  • Inside this directory, ensure the file overlay.repo exists. If it does not, create it at /etc/yum.repos.d/overlay.repo.
  • To configure the RPM repository feeds, append the required configuration to /etc/yum.repos.d/overlay.repo.
  • The yum.repos.d repository is protected using GNU Privacy Guard (GPG)-based signing to ensure authenticity and integrity of the repository metadata. These settings in the .repo file enforce the following checks:
    • gpgkey defines the trusted public GPG key used to verify the repository metadata.
    • repo_gpgcheck=1 enables mandatory GPG validation of the repository before any package operation.
Note The baseurl must point to the armv8_2a/ directory when building for QCS6490, IQ-9075, IQ-8275, and IQ-615. If you are using qcom-armv8a.yml to build with KAS or setting qcom-armv8a as the MACHINE value, change the directory name to armv8a/. The second block, [overlay-<target_specific>], determines which feed the DNF uses for your hardware or build target. For example:
Ensure that you append the appropriate target-specific line so that DNF fetches packages from the right directory.
  1. To refresh the package index using your custom configuration file, run the following command:
    In this step, DNF does the following:
    1. Downloads the repository metadata (for example, repomd.xml and related files)
    2. Retrieves the associated metadata signatures
    3. Accepts and uses the repository metadata only if the verification is successful
To uninstall overlays, see Uninstall overlay configurations and switch to upstream drivers.

Define the image recipe for Config #3 and Config #4

Note For instructions on how to build from source, see Qualcomm Linux Build Guide. Use this workflow to define the BitBake image recipe for Config #3 and Config #4, and flash the generated image with the overlays included. To define and build images, do the following:
  1. To clone meta-qcom, run the following command:
  2. To clone all layers including meta-qcom-distro locally, run the following command:

Define the image for Config #3

  1. To define the image in meta-qcom-distro for Config #3, run the following command:
  2. In the vim editor, add the following content to the new image recipe file:
    Note If your target device is a QCS615-based EVK, exclude iris-video-dlkm from qcom-config3-image. iris-video-dlkm doesn’t support the video functionality for QCS615-based EVKs. The QCS615-based EVKs are supported by the upstream video driver.
  3. To build a new image recipe, run the following command:
  4. After the build completes, use the QDL tool to flash images.

Define the image for Config #4

  1. To define the image in meta-qcom-distro for Config #4, run the following command:
  2. In the vim editor, add the following content to the new image recipe file:
  3. To build a new image recipe, run the following command:
  4. After the build completes, use the QDL tool to flash images.
To uninstall overlays, see Uninstall overlay configurations and switch to upstream drivers.