Skip to main content
This layer is an optional metadata layer for registered users and allows source compilation of select components that are otherwise provided as binaries in the meta-qcom layer. If you are entitled to receive this layer, follow the steps described in the Qualcomm Linux Build Guide to use it.

Access-dependent guidance

The meta-qcom-extras layer is available to registered Qualcomm Linux users. To check whether you have access:

Building with meta-qcom-extras

  • Download Qualcomm’s Yocto layer meta-qcom-extras. For the latest <meta-qcom-extras-release-tag>, see Configuration Parameters.
    git clone https://qpm-git.qualcomm.com/home2/git/component-revision-history/qualcomm-linux/meta-qcom-extras.git -b <meta-qcom-extras-release-tag> --depth 1
    
Layer Setup
  • Set your Qualcomm Customer ID. To find it, sign in at qualcomm.com, click the Profile icon, select Account Settings, and scroll to the Company Information section.
    export CUST_ID="<CUST_ID>"
    
  • Set the outbound license for the layer and its checksum. CUST_LICENSE and CUST_LIC_CHKSUM are required for every recipe in the layer.
    export CUST_LICENSE="<CUST_LICENSE>"
    export CUST_LIC_CHKSUM="<CUST_LIC_CHKSUM>"
    
  • Export NETRC_FILE parameter to ensure ~/.netrc credentials are visible in the kas environment:
    export NETRC_FILE=~/.netrc
    
  • Update the license file in the source repositories. By default, all sources used by meta-qcom-extras contain a placeholder LICENSE file. Replace it with your outbound license in each source before building. The recipes verify CUST_LICENSE against this file at build time.
Firmware Setup
  • Set FWZIP_PATH to the directory containing the firmware ZIP files to include locally compiled firmware zip paths in the build.
    export FWZIP_PATH="<FWZIP_PATH>"
    
  • Set the modem-specific license and its checksum. CUST_MDM_LICENSE and CUST_MDM_LIC_CHKSUM are required only when building modem firmware.
    export CUST_MDM_LICENSE="<CUST_MDM_LICENSE>"
    export CUST_MDM_LIC_CHKSUM="<CUST_MDM_LIC_CHKSUM>"
    
  • firmware-qcom-selective.inc applies these rules at parse time:
    • If FWZIP_PATH or FWZIP_NAME are unset, the recipe is silently skipped.
    • If both are set but the ZIP file is missing, the build fails with a fatal error.
    • If no PREFERRED_RPROVIDER points to the recipe, the recipe is silently skipped.
  • Edit meta-qcom-extras/ci/providers.yml to add the needed FWZIP_NAME assignments to enable the recipe during image compilation.
    firmware-qcs9100: |
      FWZIP_NAME:pn-firmware-qcs9100 = "QCS9100_dsp"
    firmware-qcs9100-bootbins: |
      FWZIP_NAME:pn-firmware-qcs9100-bootbins = "QCS9100_bootbinaries"
    
  • Update the license file in the firmware ZIPs. By default, all ZIPs used by meta-qcom-extras contain a placeholder LICENSE file. Replace it with your outbound license in each ZIP before building. The recipes verify CUST_LICENSE against this file at build time.
Build Image
  • Run the setup script to apply these parameters to the build environment.
    meta-qcom-extras/setup_extras_config.sh
    
  • Build the software image using kas. You define build targets based on machine and distro combinations.
    kas build meta-qcom-extras/ci/iq-9075-evk.yml:meta-qcom-extras/ci/qcom-distro.yml:meta-qcom-extras/ci/performance.yml