Project

General

Profile

Building and Customizing qcom-multimedia-image with Yocto

The purpose of this page is to outline how to build the qcom-multimedia-image from source.

Please be aware that rebuilding from source takes considerable hardware space (~120 GB) and execution time (depending on the capabilities of your machine a fresh build can take 2-10 hours).

Setting Up the Build Environment

This section details the steps needed to prepare for a Yocto build. These steps do not need to be re-run for rebuilds (e.g. source or configuration changes after an initial build).

Note that these steps were validated on a machine running Ubuntu 24.04 with repo, git and docker installed. You should be able to run these steps on any system that has repo, git and docker.

  1. Create a top level directory for your build: We will refer to this directory as ${YOCTO_BUILD_DIR} moving forward.
  2. Initialize the repo manifest for the Qualcomm Yocto build: This initializes the repo tool with the Qualcomm manifest and branch specific to the qcom-linux-scarthgap release and also clones the QIM meta-layer for camera support.
    repo init -u https://github.com/quic-yocto/qcom-manifest -b qcom-linux-scarthgap -m qcom-6.6.90-QLI.1.5-Ver.1.1_qim-product-sdk-2.0.1.xml
  3. Synchronize the repositories: Downloads all the source layers specified in the manifest.
    repo sync
  4. Clone the Critical Link meta-layer for the dev kit: Adds Critical Link's custom Yocto layer for the MitySOM-QC6490/5430 development kit.
    git clone https://support.criticallink.com/git/meta-mitysom-qc6490-5430-devkit.git -b scarthgap layers/meta-mitysom-qc6490-5430-devkit
    1. The scarthgap branch contains the latest regression tested release.
    2. The scarthgap-next branch is where new features are being staged for release. This allows for early access to new features, but has not yet been regression tested and git history may be re-written. Please only use this branch if you are willing to accept the risks of these caveats.
  5. Pull a Docker image for running the Yocto build: This pulls a Docker image from the crops project that will have everything we need to build the image.
    docker pull crops/poky:ubuntu-22.04

You are now ready to continue to Building the Image

Building the Image

This section details the steps to build from source, once you have completed the steps in Setting Up the Build Environment. If changes are made to source files, etc. only these steps need to be run to create a new image with said changes.

  1. Navigate to the ${YOCTO_BUILD_DIR} directory: This was created after following the steps in Setting Up the Build Environment and should have a sub-directory called layers in it.
  2. Start the Yocto Docker environment: Launches a Docker container with the required Ubuntu base image for building the image.
    docker run --rm -it -e LOCAL_USER_ID=`id -u $USER` -v `pwd`:/work crops/poky:ubuntu-22.04 --workdir=/work /bin/bash
  3. Set the additional layer for the build: This declares your custom meta-layer so it’s picked up during the environment setup.
    export EXTRALAYERS="meta-mitysom-qc6490-5430-devkit meta-qcom-qim-product-sdk"
  4. Source the environment setup script: This configures the Yocto environment for the selected machine and distribution.
    MACHINE=qcs6490-mitysom-devkit DISTRO=qcom-wayland QCOM_SELECTED_BSP=custom source setup-environment
  5. Build the image: Starts the build for the qcom-multimedia-image.
    bitbake qcom-multimedia-image

Once bitbake has completed successfully ${YOCTO_BUILD_DIR}/build-qcom-wayland/tmp-glibc/deploy/images/qcs6490-mitysom-devkit/qcom-multimedia-image is the directory to navigate to in order to run the qdl tool to program the SOM.
See Programming the MitySOM QC6490 for further details on using the qdl tool to program the SOM.
Note that if you are trying to locate the build outputs from within the docker instanceafter running the previous commands, your pwd will be ${YOCTO_BUILD_DIR}/build-qcom-wayland.

Customizing qcom-multimedia-image

This section will detail some common changes you may want to make to customize the image you are building.

Adding Packages to the Filesystem

  1. Update IMAGE_INSTALL:append in ${YOCTO_BUILD_DIR}/layers/meta-mitysom-qc6490-5430-devkit/recipes-products/images/qcom-multimedia-image.bbappend

Issues

If you have any issue please make sure to post in the forums so that we can provide support.

Go to top
Add picture from clipboard (Maximum size: 1 GB)