# Build with GitHub workflow Follow the detailed instructions to synchronize the Qualcomm Yocto and QIR SDK layers, and build the robotics image along with the QIR SDK artifacts. Warning It's not recommended to rebuild the QIR SDK, as the build process is complex for non-professionals. Build the QIR SDK only if you understand the process and have the following needs: - Build an image for the device which doesn't have a prebuilt image, for example, the Qualcomm^®^ IQ-8 Beta Evaluation Kit. For details, see [Supported platforms](https://docs.qualcomm.com/doc/80-70030-265/topic/introduction.html#section-amr-ck3-5bc). - Add new features to the QIR SDK. - Change the content of the target image. - Fix bugs in the QIR SDK. - Optimize the performance of the QIR SDK. - Change the version of certain components. 1. [Set up the host computer for build](https://docs.qualcomm.com/doc/80-70030-265/topic/github_workflow.html#section-host-machine-setup) 2. [Sync the latest Yocto project](https://docs.qualcomm.com/doc/80-70030-265/topic/github_workflow.html#section-sync-yocto-project) 3. [Sync the Qualcomm Linux firmware (optional)](https://docs.qualcomm.com/doc/80-70030-265/topic/github_workflow.html#section-sync-qualcomm-linux-firmware) 4. [Set up the build environment](https://docs.qualcomm.com/doc/80-70030-265/topic/github_workflow.html#section-set-up-build-environment) 5. [Build the robotics image and QIR SDK artifacts](https://docs.qualcomm.com/doc/80-70030-265/topic/github_workflow.html#section-build-robotics-image-and-qirp-sdk-artifacts) ## Set up the host computer for build Prepare your host computer for the build and install operations, ensuring it meets the [Host computer requirements](https://docs.qualcomm.com/doc/80-70030-265/topic/qirp_sdk_build.html#section-host-machine-requirements). 1. Install the required packages. sudo apt update sudo apt install repo gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint xterm python3-subunit mesa-common-dev zstd liblz4-tool locales tar python-is-python3 file libxml-opml-simplegen-perl vim whiptail g++ libgtest-dev Copy to clipboard 2. Set up the locales. sudo locale-gen en_US.UTF-8 sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8 Copy to clipboard 3. Update git configurations. # Check if your identity is configured in .gitconfig git config --get user.email git config --get user.name # Run the following commands if you do not have your account identity set in .gitconfig git config --global user.email git config --global user.name <"Your Name"> # Add the following UI color option for output of console (optional) git config --global color.ui auto # Add the following git configurations to fetch large size repositories and to avoid unreliable connections git config --global http.postBuffer 1048576000 git config --global http.maxRequestBuffer 1048576000 git config --global http.lowSpeedLimit 0 git config --global http.lowSpeedTime 999999 Copy to clipboard 4. Change the `/bin/sh` symlink to point to `/bin/bash` by default. sudo ln -sf /bin/bash /bin/sh Copy to clipboard 5. Install the repo tool according to steps in [install-the-repo-utility](https://github.com/qualcomm-linux/qcom-manifest/blob/qcom-linux-scarthgap/README.md#install-the-repo-utility). ## Sync the Qualcomm Yocto and QIR SDK layers Download the Qualcomm Yocto and QIR SDK layers using `robotics-release-manifest` for the value of `-m`. Note To get the `robotics-release-manifest`, see [Qualcomm^®^ Intelligent Robotics Product SDK (QIR SDK) 2.0 Release Notes](https://docs.qualcomm.com/doc/80-70030-260). cd repo init -u https://github.com/quic-yocto/qcom-manifest -b qcom-linux-scarthgap -m qcom-6.6.136-QLI.1.9-Ver.1.1_robotics-sdk-1.1.xml repo sync -c -j8 Copy to clipboard When the sync is complete, run `tree -L 2 `. You can see the following output: > > > (shell) tree -L 2 > > > . > > > ├── layers > > > │ ├── meta-openembedded > > > │ ├── meta-qcom > > > │ ├── meta-qcom-distro > > > │ ├── meta-qcom-hwe > > > │ ├── meta-qcom-qim-product-sdk > > > │ ├── meta-qcom-robotics > > > │ ├── meta-qcom-robotics-distro > > > │ ├── meta-qcom-robotics-sdk > > > │ ├── meta-ros > > > │ ├── meta-security > > > │ ├── meta-selinux > > > │ ├── meta-tensorflow > > > │ ├── meta-updater > > > │ ├── meta-virtualization > > > │ └── poky > > > ├── qirp-build > > > ├── setup-environment -> layers/meta-qcom-distro/set\_bb\_env.sh > > > └── setup-robotics-environment -> layers/meta-qcom-robotics-distro/set\_bb\_env.sh > > > 16 directories, 3 files ## Sync the Qualcomm® Linux firmware (optional)
Show me the content

Warning

  • This information is intended for authorized users. Skip this section if you are not authorized.

  • This information is optional and will not affect your build of the QIR SDK.

  • This information includes Qualcomm's proprietary firmware, such as AOP firmware, BOOT firmware, and DSP firmware.

  • This information includes Qualcomm's proprietary sample applications, such as Follow Me.

Note

For information about access levels, including public and authorized, see Working with Qualcomm.

  1. Follow the instructions in Qualcomm Linux Build Guide under Install QSC CLI and Set up the Ubuntu host computer to obtain authorization and configure the environment.

  2. Sync the Qualcomm Linux firmware with the steps in Qualcomm Linux Build Guide: Sync firmware, using the firmware release tag (value of -b) in Qualcomm® Intelligent Robotics Product SDK (QIR SDK) 2.0 Release Notes. In most cases, you only need to run:

    git clone -b r1.0_00129.0 --depth 1 https://qpm-git.qualcomm.com/home2/git/qualcomm/qualcomm-linux-spf-1-0_ap_standard_oem_nm-qirpsdk.git
    Copy to clipboard

    If you need other firmware versions, see the provided link for configuration.

  3. Build the Qualcomm Linux firmware with the steps in Qualcomm Linux Build Guide: Build firmware.

    Note

    • From Qualcomm Linux GA1.8 release, the QIR SDK doesn't support Qualcomm DragonwingTM RB3 Gen 2 Vision Development Kit.

    • From Qualcomm Linux GA1.8 release, the QIR SDK doesn't have the base build variant for Qualcomm DragonwingTM IQ-9075 Evaluation Kit and Qualcomm DragonwingTM IQ-8 Beta Evaluation Kit.

    ico-bd-fw

    For the preceding build, the firmware prebuild is successful if the following zip files appear:

    Firmware files

    Development kit

    File path

    Firmware files

    Qualcomm DragonwingTM IQ-9075 Evaluation Kit

    <FIRMWARE_ROOT>/qualcomm-linux-spf-1-0_ap_standard_oem_nm-qimpsdk/QCS9100.LE.1.0/common/build/ufs/bin

    • QCS9100_bootbinaries.zip

    • QCS9100_dspso.zip

    • QCS9100_fw.zip

    IQ-8 Beta Evaluation Kit

    <FIRMWARE_ROOT>/qualcomm-linux-spf-1-0_ap_standard_oem_nm-qimpsdk/QCS8300.LE.1.0/common/build/ufs/bin

    • QCS8300_bootbinaries.zip

    • QCS8300_dspso.zip

    • QCS8300_fw.zip

  4. Fetch the meta-qcom-robotics-extras and meta-qcom-extras layers.

    Note

    Table: product value for extra layers

    Parameter

    IQ-9075 Evaluation Kit

    IQ-8 Beta Evaluation Kit

    product

    QCS9100.LE.1.0

    QCS8300.LE.1.0

    git clone -b r1.0_00130.0 --depth 1 https://qpm-git.qualcomm.com/home2/git/qualcomm/qualcomm-linux-spf-1-0_hlos_oem_metadata.git
    mkdir -p layers/meta-qcom-robotics-extras
    mkdir -p layers/meta-qcom-extras
    cp -rf qualcomm-linux-spf-1-0_hlos_oem_metadata/<product>/common/config/meta-qcom-extras/* layers/meta-qcom-extras/
    cp -rf qualcomm-linux-spf-1-0_hlos_oem_metadata/<product>/common/config/meta-qcom-robotics-extras/* layers/meta-qcom-robotics-extras/
    Copy to clipboard
  5. Set up the build environment with the steps in Set up the build environment.

  6. Configure the firmware variables.

    cd <workspace>
    export CUST_ID="213195"
    export FWZIP_PATH="<FIRMWARE_ROOT>/qualcomm-linux-spf-1-0_ap_standard_oem_nomodem/<product>/common/build/ufs/bin"
    Copy to clipboard
  7. Configure the EXTRALAYERS variable to add firmware layers to the build.

    cat >> conf/bblayers.conf <<EOF
    EXTRALAYERS = " \\
    \${WORKSPACE}/layers/meta-qcom-robotics-extras \\
    \${WORKSPACE}/layers/meta-qcom-extras \\
    "
    EOF
    Copy to clipboard
  8. Run the build commands in Build the robotics image and QIR SDK artifacts.

## Set up the build environment Run the following command to set up the build environment: > > > cd > MACHINE= DISTRO= QCOM_SELECTED_BSP= source setup-robotics-environment > Copy to clipboard > > > Note > > > If you are building the QIR SDK on the Ubuntu Server VM of an Arm64 Mac, run the following setup command: > > > The Arm64 host computer ​only supports​​ the `custom` build variant. > > > MACHINE= DISTRO= SDKMACHINE=aarch64 QCOM_SELECTED_BSP=custom source setup-robotics-environment > Copy to clipboard > > > Table: Build parameters > > > | **Parameter** | **Qualcomm Dragonwing™ IQ-9075 Evaluation Kit** | **IQ-8 Beta Evaluation Kit** | > | --- | --- | --- | > | **Machine\_name** | `qcs9075-iq-9075-evk` | `qcs8300-ride-sx` | > | **Distro\_name** | `qcom-robotics-ros2-jazzy` | `qcom-robotics-ros2-jazzy` | > | **Build\_override** | `custom` | `custom` | > | **Build\_directory** | `build-qcs9075-custom` | `build-qcs8300-custom` | > > > > Note > > - The `custom` build variant provides a richer set of functionalities and includes Qualcomm’s value adds like SDKs and power performance improvements. It's suited for developers who rely on Qualcomm’s value adds and proprietary/downstream software in their products. > - For more details, see [Software overview](https://docs.qualcomm.com/doc/80-70030-252/topic/qualcomm-linux-sw-overview.html). ## Build the robotics image and QIR SDK artifacts Run the following command to build the QIR SDK: > > > cd > ../qirp-build qcom-robotics-full-image > Copy to clipboard > > > Note > > > This command takes a long time to run. Depending on the network and machine performance, it may take 3–5 hours. > > > **Results:** > > > Tab IQ-9075 Evaluation Kit > Tab IQ-8 Beta Evaluation Kit > > - QIR SDK artifacts: > > > > > > > > > /build-qcs9075-custom/tmp-glibc/deploy/qirpsdk_artifacts/qcs9075-iq-9075-evk/qirp-sdk_.tar.gz > > Copy to clipboard > - Robotics image: > > > > > > > > > /build-qcs9075-custom/tmp-glibc/deploy/images/qcs9075-iq-9075-evk/qcom-robotics-full-image > > Copy to clipboard > > - QIR SDK artifacts: > > > > > > > > > /build-qcs8300-custom/tmp-glibc/deploy/qirpsdk_artifacts/qcs8300-ride-sx/qirp-sdk_.tar.gz > > Copy to clipboard > - Robotics image: > > > > > > > > > /build-qcs8300-custom/tmp-glibc/deploy/images/qcs8300-ride-sx/qcom-robotics-full-image > > Copy to clipboard ## Flash the robotics image to devices To flash the robotics image to the device, see [Flash the robotics image](https://docs.qualcomm.com/doc/80-70030-265/topic/quick_start.html#flash-img-qs), using the `qcom-robotics-full-image` generated in [Build the robotics image and QIR SDK artifacts](https://docs.qualcomm.com/doc/80-70030-265/topic/github_workflow.html#section-build-robotics-image-and-qirp-sdk-artifacts). Last Published: Jul 23, 2026 [Previous Topic Build with QSC-CLI](https://docs.qualcomm.com/bundle/publicresource/80-70030-265/topics/qsc_cli.md) [Next Topic Build with Docker](https://docs.qualcomm.com/bundle/publicresource/80-70030-265/topics/docker_workflow.md)