# 註冊用戶使用 GitHub 構建

以下部分解釋如何使用 GitHub 上可用的預建專有二進位檔/影像來創建建置。

## 主機電腦需求

| 配置 | 工具 | 權限 |
| --- | --- | --- |
| x86 機器 | Git 1.8.3.1 或更高版本 | 需要 `sudo` 權限來運行一些命令 |
| 四核中央處理器，例如，Intel i7-2600，時脈為3.4 GHz（相等或更好） | Tar 1.28 或更高版本 | 需要 `sudo` 權限來運行一些命令 |
| 300 GB 免費磁碟空間（交換分割區 &gt; 32 GB） | Python 3.10.2 或更高版本 | 需要 `sudo` 權限來運行一些命令 |
| 16 GB RAM | GCC 8.0 或更高版本 | 需要 `sudo` 權限來運行一些命令 |
| Ubuntu 22.04 | GNU Make 4.0 或更高版本 | 需要 `sudo` 權限來運行一些命令 |
|  |  |  |
|  |  |  |
|  |  |  |
|  |  |  |

備註

若要在 Microsoft:sup:® Windows^®^ 或 Apple^®^ macOS^®^ 上設置運行 Ubuntu 22.04 的虛擬機器 (VM)，請參閱 [Qualcomm Linux Virtual Machine Setup Guide](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-41/)。在 VM 上進行程式碼編譯是一個緩慢的過程，可能需要幾個小時。高通建議使用 Ubuntu 主機電腦進行編譯。

## 安裝 QSC CLI

1. 安裝 curl（如果尚未安裝）：

sudo apt install curl
        Copy to clipboard
2. 下載 `qsc-cli` 的 Debian 軟體包：

cd <workspace_path>
        curl -L https://softwarecenter.qualcomm.com/api/download/software/qsc/linux/latest.deb -o qsc_installer.deb
        Copy to clipboard
3. 安裝 `qsc-cli` Debian 軟體包：

sudo apt update
        sudo apt install ./qsc_installer.deb
        Copy to clipboard
4. 使用您註冊的電子郵件 ID 登入 `qsc-cli`：

備註

要註冊，請前往 [https://www.qualcomm.com/support/working-with-qualcomm](https://www.qualcomm.com/support/working-with-qualcomm).。

qsc-cli login -u <username>
        Copy to clipboard

備註

如需更多資訊，請參閱 [如何同步](https://docs.qualcomm.com/doc/80-70018-254T/topic/how_to.html#howto-sync) 中的 `qsc-cli` 相關主題。

## 工作流程選項

下表描述了註冊用戶使用 GitHub 設置、同步和構建 Qualcomm Linux 的兩種工作流程：

| ![../../_images/Updated-Icons_Text_50-05.png](data:image/png;base64,UklGRp4DAABXRUJQVlA4TJEDAAAv8kAPEJDgtpEkSfz/szsdR3X3IPcEIqTUtiRIUkgICSEhJYSEgQUbJlwYsGHChQkHJhyYsCSEhJAQDp4Dt20cSdnrTc7MNtwPyL9ixfd1LwyFfWk/l4JpPCrjTvgFpO+2vIC/OyEBulaiCrgTgHzg5L0X3ltjeL3GdeGANm4L02e57dPGWa77Fl8At8UHgLztx86F3vdjkl73Y76+9NZHfT7eKP9vCkcp/2565TeR9MqnM/8DIwG6R90Kv4CXb8vftf4yMPCsOLlT+XnyZ5j2Ibcq6uO7LR9K/lUuKhzHsd6+5zeEMcEFez/sI4E/0J0dZjkekGFF34YFaz5gFm8fYRs18BdjwVrhAaTgpgOAEaLAfwxUnsBCnMD8pyHh5tyTNiEEPwgJePJrJGD8LCi6Fv0sRJeQKrg/7ApwupVLaNhCnFE3LNcRudnhgp0tq0UTZjmOGfR6DaFoELLzdS2jovq4yl4am2cL98RlyP2gOyWxzTtswDWLX92OESJSwD6qEnZsWfXLtjcaJCoeHSoW2frW0WbTNF4bu0yGi7l0GXI/6o4HUW730A0pi/dXJiCF6QAJtOCWhqakN2olGjjgvkxm38hrG4aIFqUfa9kYS+E5eWB7hALYzmXI/ag7GoIxU8l+WF0dT7B8up3uZkGzPKE3B6NOojAIs9G3TD5oWqAtC2N1rLLvhGoIsnIZcj/pDiujOubklgQ0Dfqxl4kVEi6s1miQSFphBTH7cuOUBg+mvcPGuHdxYZOVy5B73Z28UoLT3ZEQIIJ0IIGTiCrRGdm9hFMxoaqJPfrWSmhds0KC06WxUaagBYesXIbcT7pDeG57jM2i4FQ80Ik70hoNEskkPPpClGJFRrVbbjUYv411yrEhuQtSAFiBOnZBww7a7TjVI63RIJEMwp7ZdxpdA7ALHFMGz9sYcj/oTs2pIQom4LI40g69I0QZcaGM2InMdEaDRFmHWxO18JWnRUJ7SmBR5ji1ADkZv40h95PuUDdWXdVAbADKdTVg5YZYaUWYBqSroWY6o1nCAaSHMAUoCYBvfLVrS3SBBY6iAuBSQlrj9zHkftCdPHkRLjTtttESp5RJSA5IhHABaGHlUJkNndEswSSOH3NiR2uQpS+Up33RbQPPxhP2zmXI/ag7pmoCtVtqzlmVYEaOAuOcvpTCq/qRwWih1wi/Uk2+rdA28NaY0qKxcJlzP+2OcRL/4S4CAA==) | ![../../_images/Updated-Icons_Text_50-04.png](data:image/png;base64,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) |
| --- | --- |
| 使用獨立命令建置公共 Qualcomm Yocto 層。 | 使用 Dockerfile 構建公共 Qualcomm Yocto 層。 |
| <br>**[Build with standalone commands](https://docs.qualcomm.com/doc/80-70018-254T/topic/build_from_source_github_intro.html#build-from-source-github)** | <br>**[Build with Dockerfile](https://docs.qualcomm.com/doc/80-70018-254T/topic/build_from_source_github_intro.html#build-with-dockerfile)** |

## 使用獨立命令進行建置

### Ubuntu 主機設置

必須設定 Ubuntu 主機電腦以安裝所需的軟體工具並配置它們以供使用。

1. 安裝以下軟體包以準備您的主機環境進行 Yocto 構建：

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++ libacl1
        Copy to clipboard
2. 將您的 Qualcomm 登錄 ID 和個人化訪問金鑰（PAT）添加到主目錄中的 `~/.netrc` 檔案：

# Log in to qsc-cli to generate PAT
        qsc-cli login -u <username>
        # Run the following command to generate PAT
        qsc-cli pat --get
        # This command gives output as shown in the following note
        # The last line in this output is the token, which can be used to access
        # Qualcomm Proprietary repositories. This token expires in two weeks.
        Copy to clipboard

備註

user@hostname:/local/mnt/workspace$ qsc-cli pat –get

[資訊]：開始 qsc-cli 版本 0.0.0.9

**5LThNlklb55mMVLB5C2KqUGU2jCF**
3. 使用你偏好的文字編輯器編輯 `~/.netrc` 檔案並添加以下條目：

備註

如果 `~/.netrc` 檔案不存在，請創建它。

machine chipmaster2.qti.qualcomm.com
        login <your Qualcomm login id>
        password <your PAT token>
        
        machine qpm-git.qualcomm.com
        login <your Qualcomm login id>
        password <your PAT token>
        Copy to clipboard
4. 設定語系（如果尚未設定）：

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
5. 更新 git 配置：

# Check if your identity is configured in .gitconfig
        git config --get user.email
        git config --get user.name
        
        # Run the following commands if you don't have your account identity set in .gitconfig
        git config --global user.email <Your email ID>
        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
        
        # Add the following git configurations to follow remote redirects from http-alternates files or alternates
        git config --global http.https://chipmaster2.qti.qualcomm.com.followRedirects true
        git config --global http.https://qpm-git.qualcomm.com.followRedirects true
        Copy to clipboard

### 同步

本節使用安裝在 [Ubuntu 主機設置](https://docs.qualcomm.com/doc/80-70018-254T/topic/build_from_source_github_intro.html#ubuntu-host-setup) 中的 Repo 工具來下載 [Qualcomm manifest](https://github.com/quic-yocto/qcom-manifest) 中的 git 儲存庫列表和其他屬性。Repo 工具使用 `repo init` 命令下載清單。

下表顯示了 Yocto 層與清單發行標籤的示例映射。使用此映射來下載和建置 Qualcomm Linux：

> 
> 
> 將 Yocto 層映射到 manifest 發行標籤
> 
> 
> | Yocto 層 | manifest 發行標籤 | 參考發行版（`DISTRO`） |
> | --- | --- | --- |
> | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">meta-qcom</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">meta-qcom-hwe</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">meta-qcom-distro</span></code></p></li><br></ul> | BSP 構建：高級操作系統和預構建韌體（僅限 GPS）<br><br><br>`qcom-6.6.65-QLI.1.4-Ver.1.1.xml` | `qcom-wayland` |
> | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">meta-qcom</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">meta-qcom-hwe</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">meta-qcom-distro</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">meta-qcom-qim-product-sdk</span></code></p></li><br></ul> | BSP 構建 + QIMP SDK 構建：<br><br><br>`qcom-6.6.65-QLI.1.4-Ver.1.1_qim-product-sdk-1.1.2.xml` | `qcom-wayland` |
> | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">meta-qcom</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">meta-qcom-hwe</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">meta-qcom-distro</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">meta-qcom-realtime</span></code></p></li><br></ul> | BSP build + Real-time kernel build:<br><br><br>`qcom-6.6.65-QLI.1.4-Ver.1.1_realtime-linux-1.1.xml` | `qcom-wayland` |
> | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">meta-qcom</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">meta-qcom-hwe</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">meta-qcom-distro</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">meta-ros</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">meta-qcom-robotics</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">meta-qcom-robotics-distro</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">meta-qcom-robotics-sdk</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">meta-qcom-qim-product-sdk</span></code></p></li><br></ul> | BSP build + QIRP SDK build:<br><br><br>`qcom-6.6.65-QLI.1.4-Ver.1.0_robotics-product-sdk-1.0.xml` | `qcom-robotics-ros2-humble` |

備註

- 有關 Yocto 層的更多資訊，請參閱 [Qualcomm Linux metadata layers](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-27/qualcomm_linux_metadata_layers_overview.html#qualcomm-linux-metadata-layers).
- 關於建置 `meta-qcom-extras` 附加層與選定韌體原始碼的資訊，請參閱：[使用 GitHub 建置韌體與附加元件](https://docs.qualcomm.com/doc/80-70018-254T/topic/build_addn_info.html)。

### 建置 BSP 影像

BSP 影像建置包含支援 Qualcomm 裝置的軟體元件和適用於 Qualcomm SoCs 的增值軟體功能。它包括 Qualcomm 開發套件的參考發行配置。

更多詳情, 請參閱 [Qualcomm Linux metadata layers](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-27/qualcomm_linux_metadata_layers_overview.html#qualcomm-linux-metadata-layers).

1. 下載 Qualcomm Yocto 和支援層：

# cd to directory where you have 300 GB of free storage space to create your workspaces
        mkdir <WORKSPACE_DIR>
        cd <WORKSPACE_DIR>
        repo init -u https://github.com/quic-yocto/qcom-manifest -b qcom-linux-scarthgap -m <manifest release tag>
        # Example, <manifest release tag> is qcom-6.6.65-QLI.1.4-Ver.1.1.xml
        repo sync
        Copy to clipboard

備註

有關最新的 `<manifest release tag>`, 請參閱 [Release Notes](https://docs.qualcomm.com/bundle/publicresource/topics/RNO-250403001134/) 中的 *Build-critical release tags* 部分。
2. 設置構建環境：

MACHINE=<machine> DISTRO=qcom-wayland QCOM_SELECTED_BSP=<override> source setup-environment
        # Example, MACHINE=qcs6490-rb3gen2-vision-kit DISTRO=qcom-wayland QCOM_SELECTED_BSP=custom source setup-environment
        # source setup-environment: Sets the environment, creates the build directory build-qcom-wayland,
        # and enters into build-qcom-wayland directory.
        Copy to clipboard

備註

有關各種 `<machine>` 和 `<override>` 組合，請參閱 [Release Notes](https://docs.qualcomm.com/bundle/publicresource/topics/RNO-250403001134/).
3. 建置軟體影像：

備註

有關支援的影像配方，請參閱 [GitHub 工作流程中支援的影像配方](https://docs.qualcomm.com/doc/80-70018-254T/topic/how_to.html#image-recipes-github-workflow)。

bitbake <image recipe>
        # Example, bitbake qcom-multimedia-image
        Copy to clipboard

    成功建置後，您可以驗證 `system.img` 是否存在於 `<workspace_path>/build-qcom-wayland/tmp-glibc/deploy/images/qcs6490-rb3gen2-vision-kit/qcom-multimedia-image` 目錄中：

cd <workspace_path>/build-qcom-wayland/tmp-glibc/deploy/images/qcs6490-rb3gen2-vision-kit/qcom-multimedia-image
        ls -al system.img
        Copy to clipboard

### 建置 QIMP SDK 影像

QIMP SDK 是四個獨立功能 SDK 的集合，分別是 IM SDK、Qualcomm 神經處理 SDK、Qualcomm AI 引擎直接 SDK 和 LiteRT。它還包括可用於開發用例的參考應用程式。

更多詳情請參閱 [QIMP SDK 快速入門指南](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-51).。

1. 下載 Qualcomm Yocto 和支援層：

備註

QIMP SDK 構建的 `<manifest release tag>` 與 BSP 構建相同。在 BSP 構建之上克隆 QIMP SDK 層。

# cd to directory where you have 300 GB of free storage space to create your workspaces
        mkdir <WORKSPACE_DIR>
        cd <WORKSPACE_DIR>
        repo init -u https://github.com/quic-yocto/qcom-manifest -b qcom-linux-scarthgap -m <manifest release tag>
        # Example, <manifest release tag> is qcom-6.6.65-QLI.1.4-Ver.1.1.xml
        repo sync
        Copy to clipboard

備註

有關最新的 `<manifest release tag>`, 請參閱 [Release Notes](https://docs.qualcomm.com/bundle/publicresource/topics/RNO-250403001134/) 中的 *Build-critical release tags* 部分。
2. 將 QIMP SDK 層克隆到工作區：

git clone https://github.com/quic-yocto/meta-qcom-qim-product-sdk -b <meta-qcom-qim-product-sdk release tag> layers/meta-qcom-qim-product-sdk
        # Example, <meta-qcom-qim-product-sdk release tag> is qcom-6.6.65-QLI.1.4-Ver.1.1_qim-product-sdk-1.1.2
        Copy to clipboard

    要構建 QIMP SDK 層，需要進行以下導出：

export EXTRALAYERS="meta-qcom-qim-product-sdk"
        Copy to clipboard
3. 設置構建環境：

MACHINE=<machine> DISTRO=qcom-wayland QCOM_SELECTED_BSP=custom source setup-environment
        # Example, MACHINE=qcs6490-rb3gen2-vision-kit DISTRO=qcom-wayland QCOM_SELECTED_BSP=custom source setup-environment
        # source setup-environment: Sets the environment, creates the build directory build-qcom-wayland,
        # and enters into build-qcom-wayland directory.
        Copy to clipboard

備註

有關 `MACHINE` 參數值的資訊，請參閱 [Release Notes](https://docs.qualcomm.com/bundle/publicresource/topics/RNO-250403001134/).
4. 建置軟體影像：

bitbake qcom-multimedia-image
        # Build SDK image
        bitbake qcom-qim-product-sdk
        Copy to clipboard

    成功建置後，您可以驗證 `system.img` 是否存在於 `<workspace_path>/build-qcom-wayland/tmp-glibc/deploy/images/qcs6490-rb3gen2-vision-kit/qcom-multimedia-image` 目錄中：

cd <workspace_path>/build-qcom-wayland/tmp-glibc/deploy/images/qcs6490-rb3gen2-vision-kit/qcom-multimedia-image
        ls -al system.img
        Copy to clipboard

### 建置 QIRP SDK 影像

Qualcomm® 智慧機器人產品（QIRP）SDK 2.0 是一組元件，允許您在 Qualcomm Linux 發行版上開發機器人功能。

更多詳情請參閱 [QIRP SDK 2.0 使用者指南](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-265).

1. 下載 Qualcomm Yocto 和支援層：

備註

QIRP SDK 構建的 `<manifest release tag>` 與 BSP 構建相同。在 BSP 構建之上克隆 QIRP SDK 層。

# cd to directory where you have 300 GB of free storage space to create your workspaces
        mkdir <WORKSPACE_DIR>
        cd <WORKSPACE_DIR>
        repo init -u https://github.com/quic-yocto/qcom-manifest -b qcom-linux-scarthgap -m <manifest release tag>
        # Example, <manifest release tag> is qcom-6.6.65-QLI.1.4-Ver.1.1.xml
        repo sync
        Copy to clipboard

備註

有關最新的 `<manifest release tag>`, 請參閱 [Release Notes](https://docs.qualcomm.com/bundle/publicresource/topics/RNO-250403001134/) 中的 *Build-critical release tags* 部分。
2. 將 QIRP SDK 層下載到 BSP 建置  `<WORKSPACE DIR>` 目錄：

git clone https://github.com/ros/meta-ros -b scarthgap layers/meta-ros && cd layers/meta-ros && git checkout c560699e810e60a9526f4226c2c23f8d877280c8 && cd ../../
        git clone https://github.com/quic-yocto/meta-qcom-robotics.git -b qcom-6.6.65-QLI.1.4-Ver.1.0_robotics-product-sdk-1.0 layers/meta-qcom-robotics
        git clone https://github.com/quic-yocto/meta-qcom-robotics-distro.git -b qcom-6.6.65-QLI.1.4-Ver.1.0_robotics-product-sdk-1.0 layers/meta-qcom-robotics-distro
        git clone https://github.com/quic-yocto/meta-qcom-robotics-sdk.git -b qcom-6.6.65-QLI.1.4-Ver.1.0_robotics-product-sdk-1.0 layers/meta-qcom-robotics-sdk
        git clone https://github.com/quic-yocto/meta-qcom-qim-product-sdk -b qcom-6.6.65-QLI.1.4-Ver.1.1_qim-product-sdk-1.1.2 layers/meta-qcom-qim-product-sdk
        Copy to clipboard
3. 設置構建環境：

ln -s layers/meta-qcom-robotics-distro/set_bb_env.sh ./setup-robotics-environment
        ln -s layers/meta-qcom-robotics-sdk/scripts/qirp-build ./qirp-build
        MACHINE=<machine> DISTRO=qcom-robotics-ros2-humble QCOM_SELECTED_BSP=<override> source setup-robotics-environment
        # Example, MACHINE=qcs6490-rb3gen2-vision-kit DISTRO=qcom-robotics-ros2-humble QCOM_SELECTED_BSP=custom source setup-robotics-environment
        # source setup-robotics-environment: Sets the environment, creates the build directory build-qcom-robotics-ros2-humble,
        # and enters into build-qcom-robotics-ros2-humble directory.
        Copy to clipboard

備註

有關各種 `<machine>` 和 `<override>` 組合，請參閱 [Release Notes](https://docs.qualcomm.com/bundle/publicresource/topics/RNO-250403001134/).
4. 建置機器人影像和 QIRP SDK 工件：

../qirp-build qcom-robotics-full-image
        Copy to clipboard

    成功構建後，您可以在以下路徑看到 QIRP SDK 構建工件：

QIRP SDK artifacts: <WORKSPACE DIR>/build-qcom-robotics-ros2-humble/tmp-glibc/deploy/qirpsdk_artifacts/qirp-sdk_<version>.tar.gz
        # system.img is present in the following path
        Robotics image: <WORKSPACE DIR>/build-qcom-robotics-ros2-humble/tmp-glibc/deploy/images/qcs6490-rb3gen2-vision-kit/qcom-robotics-full-image
        Copy to clipboard

### 建置即時 Linux 影像

實時層提供運行 Qualcomm Linux 核心作為實時核心所需的配方和配置。實時核心通過配置 `CONFIG_PREEMPT_RT=y` 完全啟用搶佔。此層支持 `linux-kernel-qcom-rt` 配方，該配方獲取並構建支持的機器的 Qualcomm Linux 核心。此層基於核心版本附加到核心和上游 `PREEMPT_RT` 補丁，並啟用實時配置。

更多詳情請參閱 [Real-time kernel](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-3/real_time_kernel_overview.html)。

1. 下載 Qualcomm Yocto 和支援層：

備註

即時 Linux 影像的 `<manifest release tag>` 與 BSP 建置相同。在 BSP 建置之上克隆即時 Linux。

# cd to directory where you have 300 GB of free storage space to create your workspaces
        mkdir <WORKSPACE_DIR>
        cd <WORKSPACE_DIR>
        repo init -u https://github.com/quic-yocto/qcom-manifest -b qcom-linux-scarthgap -m <manifest release tag>
        # Example, <manifest release tag> is qcom-6.6.65-QLI.1.4-Ver.1.1.xml
        repo sync
        Copy to clipboard

備註

有關最新的 `<manifest release tag>`, 請參閱 [Release Notes](https://docs.qualcomm.com/bundle/publicresource/topics/RNO-250403001134/) 中的 *Build-critical release tags* 部分。
2. 將實時 Linux 層克隆到工作區：

git clone https://github.com/quic-yocto/meta-qcom-realtime -b <meta-qcom-realtime release tag> layers/meta-qcom-realtime
        # Example, <meta-qcom-realtime release tag> is qcom-6.6.65-QLI.1.4-Ver.1.1_realtime-linux-1.1
        Copy to clipboard

    要構建實時層，需要進行以下導出：

export EXTRALAYERS="meta-qcom-realtime"
        Copy to clipboard
3. 設置構建環境：

MACHINE=<machine> DISTRO=qcom-wayland QCOM_SELECTED_BSP=<override> source setup-environment
        # Example, MACHINE=qcs6490-rb3gen2-vision-kit DISTRO=qcom-wayland QCOM_SELECTED_BSP=custom source setup-environment
        # source setup-environment: Sets the environment, creates the build directory build-qcom-wayland,
        # and enters into build-qcom-wayland directory.
        Copy to clipboard

備註

有關各種 `<machine>` 和 `<override>` 組合，請參閱 [Release Notes](https://docs.qualcomm.com/bundle/publicresource/topics/RNO-250403001134/).
4. 建置軟體影像：

bitbake qcom-multimedia-image
        Copy to clipboard

    在成功建置後，檢查 system.img 檔案是否位於 `<workspace_path> /build-qcom-wayland/tmp-glibc/deploy/images/qcs6490-rb3gen2-vision-kit/qcom-multimedia-image` 目錄中：

cd <workspace_path>/build-qcom-wayland/tmp-glibc/deploy/images/qcs6490-rb3gen2-vision-kit/qcom-multimedia-image
        ls -al system.img
        Copy to clipboard

### 燒錄

要將軟體影像燒錄到裝置，請參閱 [Flash software images](https://docs.qualcomm.com/doc/80-70018-254T/topic/flash_images.html#flash-images)。

## 使用 Dockerfile 構建

### Ubuntu 主機設置

在 Ubuntu 主機電腦上安裝並配置所需的軟體工具。

- 安裝 git：

# Install git if you haven't already installed
        sudo apt install git
        Copy to clipboard
- 克隆 `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
- 將用戶添加到 Docker 組：

sudo groupadd docker
        sudo usermod -aG docker $USER
        newgrp docker
        # To check if you are part of a Docker group, run the following command:
        sudo grep /etc/group -e "docker"
        Copy to clipboard

### 檢查主機電腦配置

- 配置您的主機電腦：

bash utils/check_config.sh
        # Resolve the errors and run this command until no errors show up
        Copy to clipboard
- 安裝 Docker：

bash docker/docker_setup.sh
        Copy to clipboard

備註

下圖顯示了 `qcom-download-utils` 與 Docker 設置相關的目錄結構：

![../../_images/qcom-download-utils-folder.png](data:image/png;base64,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)

### 建置 BSP 影像

創建 Yocto Docker 影像並建置：

1. 運行 `docker_build.sh` 以使用 Dockerfile (`Dockerfile_22.04`) 和 Dockertag (`qcom-6.6.65-qli.1.4-ver.1.1_22.04`) 創建 Docker 影像。使用此 Docker 影像創建容器環境並運行 Yocto 建置。

    **Dockertag**：使用小寫字母表示發行資料夾，後跟 Dockerfile OS 版本，以識別使用 Dockerfile 的發行構建。Docker 不允許 Dockertag 中使用大寫字母。

備註

要排除 Docker 問題，請參閱 [排除 Docker 故障](https://docs.qualcomm.com/doc/80-70018-254T/topic/troubleshoot_sync_build_and_flash.html#troubleshoot-docker)。

bash docker/docker_build.sh -f ./docker/dockerfiles/Dockerfile_22.04 -t qcom-6.6.65-qli.1.4-ver.1.1_22.04
        Copy to clipboard

    如果在運行 `docker_build.sh` 時遇到任何問題，請參閱以下解決方案：

# Error 1: Cache-related issue.
           # If you are facing issues with the docker build command, try using --no-cache option. This option forces rebuilding of the layers that are already available
           bash docker/docker_build.sh -n --no-cache -f ./docker/dockerfiles/Dockerfile_22.04 -t qcom-6.6.65-qli.1.4-ver.1.1_22.04
        
        # Error2: Response from daemon: Get "https://registry-1.docker.io/v2/": http: server gave HTTP response to HTTPS client
           # Check with your IT administrator to acquire ``registry-mirrors`` URL and replace <docker-mirror-host>`` in the following solution
           # Using a tab instead of space and other invisible white-space characters may break the proper functioning of the JSON configuration files
           # and later may lead to the Docker service failing to start
        
           # Solution:
           sudo vim /etc/docker/daemon.json
           # Add an entry similar to the following in /etc/docker/daemon.json:
           {
              "registry-mirrors": ["https://<docker-mirror-host>"]
           }
           # Restart the Docker service to take the new settings
           sudo systemctl restart docker
        Copy to clipboard
2. 在 Docker 容器中使用 Docker 標籤和發行參數同步並建置 Yocto 影像：

bash docker/docker_run.sh -t qcom-6.6.65-qli.1.4-ver.1.1_22.04 -r qcom-6.6.65-QLI.1.4-Ver.1.1 -M <machine> --build-override <override> --alternate-repo true
        # Example, bash docker/docker_run.sh -t qcom-6.6.65-qli.1.4-ver.1.1_22.04 -r qcom-6.6.65-QLI.1.4-Ver.1.1 -M qcs6490-rb3gen2-vision-kit --build-override custom --alternate-repo true
        Copy to clipboard

備註

有關各種 `<machine>` 和 `<override>` 組合，請參閱 [Release Notes](https://docs.qualcomm.com/bundle/publicresource/topics/RNO-250403001134/).

    建置工作區位於  `<qcom-download-utils download path>/<release>/build-qcom-wayland`。例如 `qcom-download-utils/qcom-6.6.65-QLI.1.4-Ver.1.1/build-qcom-wayland`。

備註

- **# ERROR: error.GitError: git config (‘–replace-all’,‘color.ui’, ‘auto’): error: couldn’t write config file /home/$USER/.gitconfig: Device or resource busy**

    由於 Git 1.8.4 預設啟用，當 gitconfig 中未設置 UI 顏色配置時，您將看到此錯誤。要在您的帳戶中啟用顏色顯示，請運行以下命令：`git config --global color.ui auto`。
- 如果您看到並修復了建置錯誤，請運行 [Rebuild](https://docs.qualcomm.com/doc/80-70018-254T/topic/build_from_source_github_intro.html#build-with-docker-rebuild) 中的命令。

### 建置 QIMP SDK 影像

1. 使用 Docker [Build BSP image](https://docs.qualcomm.com/doc/80-70018-254T/topic/build_from_source_github_intro.html#build-with-docker-bsp-image)。
2. 使用 Docker 在基礎影像上建置 QIMP SDK：

    1. 運行 `docker run` 命令：

# Run the following commands inside the base image build location
            cd <workspace_path>/qcom-download-utils/qcom-6.6.65-QLI.1.4-Ver.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.65-qli.1.4-ver.1.1_22.04 /bin/bash
            Copy to clipboard
    2. 將 QIMP SDK 層克隆到工作區：

git clone https://github.com/quic-yocto/meta-qcom-qim-product-sdk -b <meta-qcom-qim-product-sdk release tag> layers/meta-qcom-qim-product-sdk
            # Example, <meta-qcom-qim-product-sdk release tag> is qcom-6.6.65-QLI.1.4-Ver.1.1_qim-product-sdk-1.1.2
            Copy to clipboard

        構建 QIMP SDK 層：

export EXTRALAYERS="meta-qcom-qim-product-sdk"
            Copy to clipboard
    3. 設置構建環境：

MACHINE=<machine> DISTRO=qcom-wayland QCOM_SELECTED_BSP=custom source setup-environment
            # Example, MACHINE=qcs6490-rb3gen2-vision-kit DISTRO=qcom-wayland QCOM_SELECTED_BSP=custom source setup-environment
            # source setup-environment: Sets the environment, creates the build directory build-qcom-wayland,
            # and enters into build-qcom-wayland directory.
            Copy to clipboard

備註

有關 `MACHINE` 參數值的資訊，請參閱 [Release Notes](https://docs.qualcomm.com/bundle/publicresource/topics/RNO-250403001134/)。
    4. 建置軟體影像：

bitbake qcom-multimedia-image
            # Build SDK image
            bitbake qcom-qim-product-sdk
            Copy to clipboard

### 重新構建

在對軟體發行版本進行任何修改後重新建置，請使用您使用 Docker 建立的現有工作區：

1. 列出 Docker 影像：

docker images
        Copy to clipboard

    此命令生成以下輸出：

REPOSITORY                                               TAG                         IMAGE ID       CREATED        SIZE
qcom-6.6.65-qli.1.4-ver.1.1\_22.04                        latest                      8fcea388d8ca   2 days ago     1.47GB
2. 附加容器：

# Run the following commands outside the Docker container
        cd <workspace_path>/qcom-download-utils/qcom-6.6.65-QLI.1.4-Ver.1.1
        
        # Run the following commands inside the base image build location
        bash
        docker run -it -v "${HOME}/.gitconfig":"/home/${USER}/.gitconfig" -v "${HOME}/.netrc":"/home/${USER}/.netrc" -v $(pwd):$(pwd) -w $(pwd) qcom-6.6.65-qli.1.4-ver.1.1_22.04 /bin/bash
        
        # Example
        WORKSPACE=<workspace_path>/qcom-download-utils/qcom-6.6.65-QLI.1.4-Ver.1.1
        Copy to clipboard
3. 設置構建環境：

# cd <release directory>
        MACHINE=<machine> DISTRO=qcom-wayland QCOM_SELECTED_BSP=<override> source setup-environment
        # Example, MACHINE=qcs6490-rb3gen2-vision-kit DISTRO=qcom-wayland QCOM_SELECTED_BSP=custom source setup-environment
        # source setup-environment: Sets the environment, creates the build directory build-qcom-wayland,
        # and enters into build-qcom-wayland directory.
        Copy to clipboard

備註

有關各種 `<machine>` 和 `<override>` 組合，請參閱 [Release Notes](https://docs.qualcomm.com/bundle/publicresource/topics/RNO-250403001134/).
4. 建置軟體影像：

bitbake qcom-multimedia-image
        Copy to clipboard

備註

在燒錄影像之前關閉 Docker。

### 燒錄

要將軟體影像燒錄到裝置，請參閱 [Flash software images](https://docs.qualcomm.com/doc/80-70018-254T/topic/flash_images.html#flash-images)。

Last Published: Aug 21, 2025

[Previous Topic
使用 GitHub 為未註冊用戶進行構建](https://docs.qualcomm.com/bundle/publicresource/80-70018-254T/topics/github_workflow_unregistered_users.md) [Next Topic
使用韌體和附加功能在 GitHub 上構建](https://docs.qualcomm.com/bundle/publicresource/80-70018-254T/topics/build_addn_info.md)

Source: [https://docs.qualcomm.com/doc/80-70018-254T/topic/build_from_source_github_intro.html](https://docs.qualcomm.com/doc/80-70018-254T/topic/build_from_source_github_intro.html)