# 使用 Docker 编译

使用 Dockerfile 编译 QIR SDK 以及机器人镜像，该编译过程基于 Qualcomm Linux 镜像。

1. [设置主机](https://docs.qualcomm.com/doc/80-70020-265Y/topic/docker_workflow.html#section-host-machine-setup-docker)
2. [编译机器人镜像和 QIR SDK artifact](https://docs.qualcomm.com/doc/80-70020-265Y/topic/docker_workflow.html#section-build-robotics-image-and-qirp-sdk-artifacts-docker)

## 设置主机

**前提条件**

确保您的 Ubuntu 主机满足 [主机要求](https://docs.qualcomm.com/doc/80-70020-265Y/topic/qirp_sdk_build.html#section-host-machine-requirements) 中的要求，并且已安装并配置了必要的软件工具以供使用。

要设置主机以在 Docker 中编译 QIR SDK，请执行以下步骤：

1. 安装所需的软件包。

sudo apt-get install -y git
        Copy to clipboard
2. 克隆 `qcom-download-utils` git 代码仓库，它为 Qualcomm 公共 Yocto 层和一些帮助程序脚本提供了 Dockerfile。

mkdir <workspace_path>
        cd <workspace_path>
        git clone https://git.codelinaro.org/clo/le/qcom-download-utils.git
        cd qcom-download-utils
        Copy to clipboard
3. 检查您的主机是否配置正确并安装 Docker。

bash utils/check_config.sh qcom-robotics-full-image
        bash docker/docker_setup.sh
        Copy to clipboard
4. 创建 Yocto Docker 镜像。

bash docker/docker_build.sh -f ./docker/dockerfiles/Dockerfile_22.04 -t qcom-6.6.90-qli.1.5-ver.1.1_robotics-product-sdk-1.1_22.04
        Copy to clipboard

Note

- 如果您遇到 Docker 问题，请参阅 [Docker 故障排查](https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-254/troubleshoot_sync_build_and_flash.html#docker)。
- 如果您在编译过程中遇到 `apt install` 错误，请检查是否使用过时的 Ubuntu 22.04 镜像。确保数据安全后，执行 `docker rmi ubuntu:22.04` 或通过其他方式更新镜像；然后重新运行上述命令。

## 编译机器人镜像和 QIR SDK artifact

使用 Dockerfile 编译机器人镜像和 QIR SDK artifact。

bash docker/docker_run.sh \
    -M <Machine_name> \
    --release="qcom-6.6.90-QLI.1.5-Ver.1.1_robotics-product-sdk-1.1" \
    --build-override="<Build_override>" \
    --alternate-repo="true"
    Copy to clipboard

**示例**

bash docker/docker_run.sh \
    -M qcs6490-rb3gen2-vision-kit \
    --release="qcom-6.6.90-QLI.1.5-Ver.1.1_robotics-product-sdk-1.1" \
    --build-override="custom" \
    --alternate-repo="true"
    Copy to clipboard

| **参数** | **RB3 Gen 2 机器视觉套件** | **IQ-9 Beta 评估套件** | **IQ-8 Beta 评估套件** |
| --- | --- | --- | --- |
| `Machine_name` | `qcs6490-rb3gen2-vision-kit` | `qcs9075-iq-9075-evk` | `qcs8300-ride-sx` |
| `Build_override` | `custom` | `custom`<br><br><br>`base` | `custom`<br><br><br>`base` |

## 在 Docker 中调试

如果您熟悉 Yocto，可按照以下步骤使用交互式终端在 Docker 中调试：

1. 运行上述命令在 Docker 环境中设置和编译，然后运行以下命令：

cd <workspace_path>/qcom-download-utils/qcom-6.6.90-QLI.1.5-Ver.1.1_robotics-product-sdk-1.1
        bash
        docker run -it -v "${HOME}/.gitconfig":"/home/${USER}/.gitconfig" -v "${HOME}/.netrc":"/home/${USER}/.netrc" -v $(pwd):$(pwd) -w $(pwd) qcom-6.6.90-qli.1.5-ver.1.1_robotics-product-sdk-1.1_22.04 /bin/bash
        Copy to clipboard
2. 按照 [设置编译环境](https://docs.qualcomm.com/doc/80-70020-265Y/topic/github_workflow.html#section-set-up-build-environment) 中的步骤设置环境变量并进行编译。

Note

- Base 版本适用于想要纯上游开源软件协议栈而无需 Qualcomm 专有软件和功耗/性能的附加特性的开发者。
- Custom 版本提供了更丰富的功能，包括 SDK 和电源性能改进等 Qualcomm 增值功能。它适合在其产品中依赖 Qualcomm 增值和专有/下游软件的开发者。
- 有关详细信息，请参阅[软件概览](https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-252/qualcomm-linux-sw-overview.html)。

**结果：**

Tab RB3 Gen 2 机器视觉开发套件
Tab IQ-9075 评估套件
Tab IQ-8 Beta 评估套件

- QIR SDK artifacts:

> 
> 
> <workspace>/qcom-download-utils/qcom-6.6.90-QLI.1.5-Ver.1.1_robotics-product-sdk-1.1/build_qcs6490-rb3gen2-vision-kit_custom/tmp-glibc/deploy/qirpsdk_artifacts/qcs6490-rb3gen2-vision-kit/qirp-sdk_<version>.tar.gz
>     Copy to clipboard

- 机器人镜像：

> 
> 
> <workspace>/qcom-download-utils/qcom-6.6.90-QLI.1.5-Ver.1.1_robotics-product-sdk-1.1/build_qcs6490-rb3gen2-vision-kit_custom/tmp-glibc/deploy/images/qcs6490-rb3gen2-vision-kit/qcom-robotics-full-image
>     Copy to clipboard

> 
> 
> **使用** `custom` **override的示例**

- QIR SDK artifacts:

> 
> 
> <workspace>/qcom-download-utils/qcom-6.6.90-QLI.1.5-Ver.1.1_robotics-product-sdk-1.1/build_qcs9075-iq-9075-evk_custom/tmp-glibc/deploy/qirpsdk_artifacts/qcs9075-iq-9075-evk/qirp-sdk_<version>.tar.gz
>         Copy to clipboard
- 机器人镜像：

> 
> 
> <workspace>/qcom-download-utils/qcom-6.6.90-QLI.1.5-Ver.1.1_robotics-product-sdk-1.1/build_qcs9075-iq-9075-evk_custom/tmp-glibc/deploy/images/qcs9075-iq-9075-evk/qcom-robotics-full-image
>         Copy to clipboard

> 
> 
> **使用** `base` **override的示例**

- QIR SDK artifact

> 
> 
> <workspace>/qcom-download-utils/qcom-6.6.90-QLI.1.5-Ver.1.1_robotics-product-sdk-1.1/build_qcs9075-iq-9075-evk_base/tmp-glibc/deploy/qirpsdk_artifacts/qcs9075-iq-9075-evk/qirp-sdk_<version>.tar.gz
>         Copy to clipboard
- 机器人镜像：

> 
> 
> <workspace>/qcom-download-utils/qcom-6.6.90-QLI.1.5-Ver.1.1_robotics-product-sdk-1.1/build_qcs9075-iq-9075-evk_base/tmp-glibc/deploy/images/qcs9075-iq-9075-evk/qcom-robotics-full-image
>         Copy to clipboard

**使用** `custom` **override的示例**

- QIR SDK artifacts:

> 
> 
> <workspace>/qcom-download-utils/qcom-6.6.90-QLI.1.5-Ver.1.1_robotics-product-sdk-1.1/build_qcs8300-ride-sx_custom/tmp-glibc/deploy/qirpsdk_artifacts/qcs8300-ride-sx/qirp-sdk_<version>.tar.gz
>         Copy to clipboard
- 机器人镜像：

> 
> 
> <workspace>/qcom-download-utils/qcom-6.6.90-QLI.1.5-Ver.1.1_robotics-product-sdk-1.1/build_qcs8300-ride-sx_custom/tmp-glibc/deploy/images/qcs8300-ride-sx/qcom-robotics-full-image
>         Copy to clipboard

**使用** `base` **override的示例**

- QIR SDK artifacts:

> 
> 
> <workspace>/qcom-download-utils/qcom-6.6.90-QLI.1.5-Ver.1.1_robotics-product-sdk-1.1/build_qcs8300-ride-sx_base/tmp-glibc/deploy/qirpsdk_artifacts/qcs8300-ride-sx/qirp-sdk_<version>.tar.gz
>         Copy to clipboard
- 机器人镜像：

> 
> 
> <workspace>/qcom-download-utils/qcom-6.6.90-QLI.1.5-Ver.1.1_robotics-product-sdk-1.1/build_qcs8300-ride-sx_base/tmp-glibc/deploy/images/qcs8300-ride-sx/qcom-robotics-full-image
>         Copy to clipboard

## 将机器人镜像刷入设备

要将机器人镜像刷入设备，请参阅使用 [编译机器人镜像和 QIR SDK artifact](https://docs.qualcomm.com/doc/80-70020-265Y/topic/docker_workflow.html#section-build-robotics-image-and-qirp-sdk-artifacts-docker) 中生成的 `qcom-robotics-full-image` [刷写机器人镜像](https://docs.qualcomm.com/doc/80-70020-265Y/topic/flash_the_robotics_image.html#flash-and-install)。

Last Published: Oct 13, 2025

[Previous Topic
使用 GitHub 工作流进行编译](https://docs.qualcomm.com/bundle/publicresource/80-70020-265Y/topics/github_workflow.md) [Next Topic
使用预编译的机器人 eSDK 编译机器人镜像](https://docs.qualcomm.com/bundle/publicresource/80-70020-265Y/topics/esdk_gen_image.md)