Skip to main content

简介

将预构建镜像烧录到设备上。虽然 Qualcomm 硬件通常预装了镜像,但您可以使用此流程更新到较新的软件版本,或部署从源码构建的镜像。 要烧录预构建镜像,需要执行以下步骤:

下载所需软件包

QDL 是一款软件实用工具,用于与处于紧急下载 (EDL) 模式的 Qualcomm USB 设备通信,使你能够上传 刷写加载程序并将软件镜像烧录到设备上。按照 以下步骤在你的系统上下载并设置 QDL:
  • 访问 QDL 发布页面, 并根据你的机器和架构找到合适的二进制文件链接。
  • 使用以下命令下载 QDL 二进制文件:
  • 解压下载的归档文件:
  • 为 QDL 二进制文件授予执行权限:
  • 将 QDL 可执行文件添加到系统 PATH:
  • 验证 QDL 可执行文件是否可访问:

获取可烧录镜像

在烧写之前,您的主机上需要有一个可烧写的镜像目录。 根据获取镜像的方式,选择以下路径之一。
预构建镜像以压缩包的形式分发。从获取预构建镜像 部分下载适用于您设备的压缩包,解压后进入解压出的目录。
  • 解压压缩包:
  • 进入解压后的目录:
除非另有说明,后续所有指令都应在此目录中运行。

确定存储配置

机器配置默认启用 UFS 或 eMMC 存储,这些设置也反映在预构建镜像中。如果需要修改存储类型,则必须更新配置并重新构建镜像,因为预构建二进制文件中无法更改此设置。 支持平台的默认存储配置如下

配置 udev 规则

主机系统必须配置正确的 udev 规则,以允许正常的 USB 设备访问。仅在设置新的主机环境时,或在通过 USB 检测设备时遇到 权限问题时,才需要执行此步骤。
  • 运行以下命令,在 Linux 主机上为 Qualcomm 制造厂商 ID 05c6 配置 udev USB 规则:
  • 重启 udev 服务使更改生效:
  • 如果 USB 线缆已连接到主机,请拔下并重新连接,以使更新后的规则生效。

配置 CDT

配置数据表 (CDT) 包含正确进行平台初始化所需的 设备特定信息。刷写之前,你需要根据参考套件 选择正确的 CDT 文件。
  • qcomflash tarball 中提供了多个 CDT 二进制文件。 为你的套件选择正确的 CDT 二进制文件,并用它替换默认的 cdt.bin
  • 整个刷写过程成功完成后,你可以通过查看 UEFI 串口日志 来验证是否加载了正确的 CDT。使用 Subtype 字段来识别 加载到设备上的 CDT。
    Sample output

将设备切换到 EDL 模式

在刷写软件镜像之前,设备必须处于 EDL 模式。 默认情况下,Qualcomm 支持的设备在上电后如果设备上没有 镜像或镜像已损坏,会进入 EDL 模式。按照以下 步骤强制设备进入 EDL 模式。
  • 按住 F_DL 按钮。 Figure: RB3Gen2_device
  • 将设备连接到 +12 V 壁式电源
  • 通过 USB Type-C 接口将设备连接到主机系统。
  • 松开 F_DL 按钮。设备此时处于 EDL 模式。
  • 整个刷写过程完成后,拔下电源线以退出 EDL 模式。
运行以下命令,验证设备是否处于 EDL 模式:
Expected output

预配 UFS

通用闪存存储(UFS)配置(provisioning)有助于将存储划分为多个 LUN, 以分别存储不同类型的数据。这样可以提高访问效率和系统组织性。 UFS 默认已完成配置。如果 LUN 有任何更改,则必须重新配置 UFS。 要检查 UFS 是否需要重新配置, 请参阅版本特定信息文档中的 UFS Provision 表格。
  • 从 Qualcomm 的工件服务器下载配置文件:
  • 解压下载的压缩包:
  • 进入解压后的目录:
  • 配置 UFS:
  • 返回上一级目录:

烧录 SAIL

Safety Island (SAIL) 镜像包含隔离的安全关键固件,该固件运行在专用的 safety island 上,以确保安全启动和可靠的系统运行独立于主处理器。
Safety Island (SAIL) 仅适用于 Qualcomm Dragonwing™ IQ-9075 和 Qualcomm Dragonwing™ IQ-8275 开发套件。如果您使用的不是这两款 开发套件之一,请跳过本节。
  • SAIL 工件位于解压后的 qcomflash 目录中的 sail_nor 目录下。 进入以下目录:
  • 烧写 SAIL:
  • 返回上一级目录:

烧录软件镜像

本节介绍如何使用 QDL 刷写镜像, 以及如何验证刷写过程是否成功。
  • 确保 ModemManager 服务未在运行,因为当设备通过 USB 连接时, 它可能会尝试将设备作为调制解调器进行管理,从而干扰 QDL。请在 连接设备之前禁用它。在基于 systemd 的系统上,使用以下命令:
  • 选择合适的存储选项,使用 QDL 刷写软件镜像:
  • 如果在终端窗口中看到如下消息所示的 partition 1 is now bootable, 则表示刷写成功:
    Sample output
  • 如果刷写失败,请执行以下步骤后重试刷写流程:
    • 关闭设备电源
    • 断开与主机的连接
    • 重启主机

相关主题