Skip to main content

概述

本页概述了 Qualcomm Linux(QLI)软件中对 U-Boot(通用引导加载程序)的支持。

支持的 SoC

构建 U-Boot 镜像

本节介绍如何将 U-Boot 二进制文件作为 QLI 2.0 软件的一部分进行构建。

1. 从 Qualcomm Linux GitHub 仓库构建

前提条件

在执行构建步骤之前,请执行以下操作:
  1. 在本地计算机上安装以下软件包:
  2. 下载并解压 Arm GNU 工具链:
    • 这会在 ~/arm-gnu-toolchain-14.2.rel1-x86_64-aarch64-none-linux-gnu/ 创建工具链目录。如果解压到其他位置,请相应调整构建命令中的路径。
    • 仅在 x86 64 位主机上安装该工具链。
    • 其他版本请访问 Arm GNU 工具链下载
  3. 下载 qtestsign 实用程序:

构建步骤

  1. 将 U-Boot 仓库从 Qualcomm Linux GitHub 下载到本地工作区,并进入 u-boot 文件夹:
  2. 切换分支:
  3. 检出 QLI 2.0 版本的 SRC REV:
  4. 由于 IQ-9075 和 IQ-615 默认启用了基于内核的虚拟机(KVM),请将以下配置选项添加到各自的 defconfig 文件中:
    QCS6490 请跳过此步骤,因为其默认未启用 KVM。
  5. 为您的平台配置构建。此命令会在 .output 目录中创建所需的配置文件。请根据您的平台选择相应命令:
  6. 使用交叉编译工具链构建 U-Boot:
    如果将工具链解压到了其他位置,请将 ~/arm-gnu-toolchain-14.2.rel1-x86_64-aarch64-none-linux-gnu/ 替换为您的实际工具链安装路径。
    预期结果:
    • U-Boot 构建完成且无错误。
    • u-boot.elf 文件位于 .output 目录中。

将 u-boot.elf 转换为 u-boot.mbn

此命令生成烧录所需的已签名 u-boot.mbn 文件:
如果将 qtestsign 克隆到了其他位置,请将 ~/qtestsign/ 替换为您的实际 qtestsign 安装路径。

2. 使用 Yocto 构建

按照使用 Yocto 构建 Qualcomm Linux 页面上的说明操作,并进行以下修改:
  • 要生成 U-Boot 二进制文件,请在”构建 BSP 镜像”第 3 步的构建命令中追加 :meta-qcom/ci/u-boot-qcom.yml KAS 片段。
  • 在构建产物文件夹中,最终的 U-Boot 二进制文件以 uefi.elf 形式生成在 <workspace-dir>/build/tmp/deploy/images/<MACHINE>/<IMAGE>-<MACHINE>.rootfs.qcomflash/ 目录中。
在 Yocto 构建中,支持 KVM 的目标(IQ-9075 和 IQ-615)默认启用基于内核的虚拟机(KVM)。为这些目标构建 U-Boot 时,会默认添加以下配置:

烧录 U-Boot 镜像

使用 Qualcomm 工具

按照烧录软件镜像中的说明,随 QLI 2.0 构建一起烧录 U-Boot 二进制文件。

使用 Fastboot

  1. 使用以下方法之一进入 fastboot 模式:
    • 从内核:
    • 从 U-Boot CLI:
  2. 从主机烧录所需镜像。例如,要烧录 U-Boot 镜像:
  3. 重启设备:

支持的 U-Boot 命令

下表列出了在受支持平台上可用的一些关键 U-Boot 命令。这些命令涵盖启动管理、环境管理、存储访问和硬件外设控制。可用命令可能因平台支持情况而异。
  • 在 QCS6490 中,Watchdog 由 Hypervisor 使用;因此 Watchdog 命令在 QCS6490 上不起作用。

另请参阅