> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 使用 QSC CLI 构建 BSP 镜像

## 简介

本文档提供使用 `qsc-cli` 工具同步、构建和刷写镜像的说明。
它面向有权访问 Qualcomm 专有资源的注册用户。`qsc-cli` 工具
通过提供在容器化环境中运行任务的统一接口来简化工作流程，
确保简单性、一致性和可复现性。

从整体上看，您将学习以下内容：

* 设置和认证 `qsc-cli` – [安装 QSC-CLI](#install-qsc-cli)
* 使用 `qsc-cli` 同步所需的源代码和依赖项 – [下载软件](#download-the-software)
* 使用 `qsc-cli` 构建 Qualcomm 镜像 – [构建默认配置](#build-the-default-configuration)

## 支持的 SoC

本指南支持以下 SoC。如果列表中没有您的 SoC，则此处描述的 QSC CLI 构建过程不适用于您的设备。

本文档支持以下 SoC。如果你的芯片组未在
下表中列出，则此处描述的固件构建流程不适用于你的设备。

| SoC      | 说明                                             | 是否支持 |
| -------- | ---------------------------------------------- | ---- |
| QCS6490  | Qualcomm Dragonwing™ RB3 Gen 2 Vision Kit      | ✓    |
|          | Qualcomm Dragonwing™ RB3 Gen 2 Core Kit        | ✓    |
|          | Qualcomm Dragonwing™ RB3 Gen 2 Industrial Kit  | ✓    |
| QCS5430  | Qualcomm Dragonwing™ RB3 Gen 2 Lite Vision Kit | ✓    |
|          | Qualcomm Dragonwing™ RB3 Gen 2 Lite Core Kit   | ✓    |
| IQ9      | Qualcomm Dragonwing™ IQ-9075 评估套件              | ✓    |
| IQ8      | Qualcomm Dragonwing™ IQ-8275 评估套件              | ✓    |
| IQ6      | Qualcomm Dragonwing™ IQ-615 评估套件               | ✓    |
| IQ-X7181 | Qualcomm Dragonwing™ IQ-X7181 评估套件             | ✓    |
| IQ-X5121 | Qualcomm Dragonwing™ IQ-X5121 评估套件             | ✓    |

<Note>
  QSC CLI 目前不支持编译 `Qualcomm_Linux.SPF.2.0|AP|Standard|OEM|` 和
  `Qualcomm_Linux.SPF.2.0|AMSS|Standard|OEM|` 这两个发行版。手动编译
  步骤请参阅
  [带固件的 BSP 镜像构建](/zh/Key-Documents/Firmware-Guide/build-firmware)文档。
</Note>

## 主机要求

* 操作系统
  * Ubuntu
* 配置
  * 四核 CPU，例如 3.4 GHz 的 Intel i7-2600（同等或更高配置）
  * 300 GB 可用磁盘空间（交换分区 > 32 GB）
  * 16 GB RAM

## 安装 QSC-CLI

`qsc-cli` 是 Qualcomm 提供的命令行工具，为访问、管理和构建
Qualcomm 软件提供端到端的工作流。按照以下步骤在你的系统上安装
`qsc-cli`：

* 访问 [Qualcomm 支持页面](https://www.qualcomm.com/support/working-with-qualcomm)注册你的 Qualcomm 电子邮件 ID。

* 下载 `qsc-cli` 的 Debian 软件包：

  <CodeGroup>
    ```bash x86 theme={null}
    wget https://softwarecenter.qualcomm.com/api/download/software/tools/Qualcomm_Software_Center/Linux/Debian/latest.deb -O qsc_installer.deb
    ```

    ```bash ARM64 theme={null}
    wget https://softwarecenter.qualcomm.com/api/download/software/tools/Qualcomm_Software_Center/Linux/ARM64/Debian/latest.deb -O qsc_installer.deb
    ```
  </CodeGroup>

* 安装 `qsc-cli` Debian 软件包：
  ```bash theme={null}
  sudo apt update
  sudo apt install ./qsc_installer.deb
  ```

* 使用你的 Qualcomm ID 登录 `qsc-cli`。对大多数用户而言，Qualcomm ID 就是你的
  电子邮件地址。此命令会打开浏览器窗口以完成身份验证。如果浏览器
  没有自动打开，请复制终端中打印的链接并粘贴到浏览器中
  完成身份验证。
  ```bash theme={null}
  qsc-cli login
  ```

## 配置参数

下表列出了 `chip-software download` 和 `chip-software compile` 命令使用的
`--product`、`--release`、`--image` 和 `--distribution` 参数值。

| --product         | --release | --image                                                                                                                      |
| ----------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------- |
| QCM6490.LE.2.0    | r00131.2  | ADSP.HT.5.5.c8  <br />CDSP.HT.2.5.c3 <br />AOP.HO.3.6     <br />BOOT.MXF.1.0.c1<br />TZ.XF.5.29                              |
| QCS9100.LE.2.0    | r00131.2  | DSP.AT.1.0.1    <br />AOP.HO.3.6.1   <br />BOOT.MXF.1.0.c1<br />TZ.XF.5.29.1                                                 |
| QCS8300.LE.2.0    | r00131.3  | DSP.AT.1.0.1    <br />AOP.HO.3.6.1   <br />BOOT.MXF.1.0.c1<br />TZ.XF.5.29.1                                                 |
| QCS615.LE.2.0     | r00131.2  | BOOT.MXF.1.0.c1 <br />AOP.HO.3.6.2   <br />TZ.XF.5.29.1   <br />ADSP.VT.5.2.c6 <br />CDSP.VT.2.2.c4                          |
| Hamoa\_IOT.LE.2.0 | r00014.1  | BOOT.MXF.2.4.2  <br />AOP.HO.5.2     <br />TZ.XF.5.0      <br />ADSP.HT.5.9    <br />CDSP.HT.2.9.c1 <br />BOOT.MXF\_UEFI.2.5 |
| Purwa\_IOT.LE.2.0 | r00014.1  | BOOT.MXF.2.4.2  <br />AOP.HO.5.2     <br />TZ.XF.5.0      <br />ADSP.HT.5.9    <br />CDSP.HT.2.9.c1 <br />BOOT.MXF\_UEFI.2.5 |

| 发行版                                                  | 说明                      | 用途                     |
| ---------------------------------------------------- | ----------------------- | ---------------------- |
| `Qualcomm_Linux.SPF.2.0\|TEST\|DEVICE\|PUBLIC`       | 高层 OS 和预构建固件（无调制解调器）    | 使用预构建固件为无调制解调器场景构建的开发者 |
| `Qualcomm_Linux.SPF.2.0\|AP\|Standard\|OEM\|NoModem` | 高层 OS 和固件源码，不含调制解调器     | 使用 HLOS 构建无调制解调器固件的开发者 |
| `Qualcomm_Linux.SPF.2.0\|AP\|Standard\|OEM`          | 高层 OS 和固件（仅 GPS）源码      | 针对 GPS 芯片组构建固件的开发者     |
| `Qualcomm_Linux.SPF.2.0\|AMSS\|Standard\|OEM`        | 高层 OS 和固件（GPS 和调制解调器）源码 | 构建包含完整调制解调器固件的开发者      |

## 下载软件

使用 `chip-software download` 命令下载软件发布版本。使用
前面的表格查找您的 SoC 对应的 `--product`、`--release` 和 `--distribution`
值：

```bash theme={null}
qsc-cli chip-software download --workspace-path '<absolute-workspace-path>' --product '<product-id>' --release '<release-id>'  --distribution '<distribution-name>'
```

## 构建默认配置

### 编译

下载完成后，开始编译过程。根据软件大小和主机配置的不同，编译过程可能需要几个小时。

```bash theme={null}
qsc-cli chip-software compile --workspace-path '<absolute-workspace-path>'
```

此过程会构建所需的 Qualcomm 固件并完成 Qualcomm
Linux 的构建。

### 重新编译

在对软件发布版本进行任何修改后，若要重新编译单个软件镜像，
请使用您已通过 QSC CLI 构建的现有工作区：

```bash theme={null}
qsc-cli chip-software compile --image '<image-name>' --workspace-path '<absolute-workspace-path>'
```

## 构建您自己的配置

要构建您自己的配置，您必须先使用默认的机器配置进行编译，
然后使用您自己的机器和发行版配置文件编译软件产品。

编译软件镜像时，请确保同时编译软件产品。例如，如果您编译
`BOOT.MXF.1.0.c1`，请确保同时编译软件产品（例如 `QCS9100.LE.2.0`）。

* 使用默认机器配置编译构建。

* 使用您自己的机器和发行版配置文件编译软件产品。
  ```bash theme={null}
  qsc-cli chip-software open-build-env --workspace-path <absolute-workspace-path> --image <software-image-name>
  ```
  此命令会打开一个终端。

* 根据您自己的机器配置更新高亮显示的命令，
  并在终端中运行。例如，要构建 IQ-9075-EVK，请将 `<machine.yml>` 的值更改为 `iq-9075-evk.yml`。
  <img src="https://mintcdn.com/qualcomm-prod/n8AD--PnCVwV_rxK/Key-Documents/Firmware-Guide/media/k2c-qli-build-ga/qsc-cli-open-build-terminal.png?fit=max&auto=format&n=n8AD--PnCVwV_rxK&q=85&s=3169813171bd90d3e8500ebad8a840e9" alt="build-own-config" width="1572" height="184" data-path="Key-Documents/Firmware-Guide/media/k2c-qli-build-ga/qsc-cli-open-build-terminal.png" />

- 构建会生成一个 tarball，其中包含执行一次完整全新刷写所需的所有相关文件，包括分区元数据、启动固件、ESP 分区和 rootfs。构建成功后，请检查构建产物中是否存在 qcomflash tarball。以下示例使用 `qcom-multimedia-proprietary-image` 作为镜像名称。

  <CodeGroup>
    ```bash IQ-9075-EVK theme={null}
    ls build/tmp/deploy/images/iq-9075-evk/qcom-multimedia-proprietary-image-iq-9075-evk.rootfs.qcomflash.tar.gz
    ```

    ```bash IQ-8275-EVK theme={null}
    ls build/tmp/deploy/images/iq-8275-evk/qcom-multimedia-proprietary-image-iq-8275-evk.rootfs.qcomflash.tar.gz
    ```

    ```bash IQ-615-EVK theme={null}
    ls build/tmp/deploy/images/iq-615-evk/qcom-multimedia-proprietary-image-iq-615-evk.rootfs.qcomflash.tar.gz
    ```

    ```bash QCS6490 theme={null}
    ls build/tmp/deploy/images/rb3gen2-core-kit/qcom-multimedia-proprietary-image-rb3gen2-core-kit.rootfs.qcomflash.tar.gz
    ```

    ```bash IQ-X7181-EVK theme={null}
    ls build/tmp/deploy/images/iq-x7181-evk/qcom-multimedia-proprietary-image-iq-x7181-evk.rootfs.qcomflash.tar.gz
    ```

    ```bash IQ-X5121-EVK theme={null}
    ls build/tmp/deploy/images/iq-x5121-evk/qcom-multimedia-proprietary-image-iq-x5121-evk.rootfs.qcomflash.tar.gz
    ```
  </CodeGroup>

<Warning>
  环境已设置为针对特定软件镜像运行您自己的构建命令。
  QSC 在后续版本中不会跟踪输入工作区的状态，
  并且您无法使用 qsc-cli 刷写这些工作区。
</Warning>
