Skip to main content
This section explains how to enable and build a debug image using the Yocto setup. This is intended for developers who need deeper visibility into the system behavior, troubleshooting, and kernel-level debugging. To generate a debug build, you simply include the debug.yml kas configuration fragment in your build command, which enables the DEBUG_BUILD=1 configuration. To understand which kernel defconfig and config fragments are used when DEBUG_BUILD is set to 1, see Kernel recipes.

Build instructions

  • Download Qualcomm’s Yocto layer meta-qcom. For the latest <meta-qcom-release-tag>, see Configuration Parameters.
    git clone https://github.com/qualcomm-linux/meta-qcom -b <meta-qcom-release-tag>
    
  • Build the software image using kas. You define build targets based on machine and distro combinations.
    kas build meta-qcom/ci/iq-9075-evk.yml:meta-qcom/ci/qcom-distro.yml:meta-qcom/ci/debug.yml
    
  • The build creates a single tarball containing all the relevant files to perform a full clean flash, including partition metadata, boot firmware, ESP partition and the rootfs. After a successful build, check if the qcomflash tarball exists in the build artifacts. The following examples use qcom-multimedia-proprietary-image as the image name.
    ls build/tmp/deploy/images/iq-9075-evk/qcom-multimedia-proprietary-image-iq-9075-evk.rootfs.qcomflash.tar.gz
    
The following code snippet from recipes-kernel/linux/linux-qcom_6.18.bb enables the debug configuration fragments for the kernel being built:
KBUILD_CONFIG_EXTRA:append = " ${@oe.utils.vartrue('DEBUG_BUILD', '${S}/kernel/configs/debug.config', '', d)}"
KBUILD_CONFIG_EXTRA:append:aarch64 = " ${@oe.utils.vartrue('DEBUG_BUILD', '${S}/arch/arm64/configs/qcom_debug.config', '', d)}"

Next steps