Skip to main content
您可以从 SD 卡启动 Qualcomm 开发套件。
  1. 将 efi.bin 和 rootfs.img 烧录到 SD 卡以完成准备。
  2. 将准备好的 SD 卡插入开发套件的 SD 卡槽。
SD 卡包含两个分区——一个 EFI 分区(efi.bin)和一个根文件系统分区(rootfs.img)——它们共同构成一个备份或冗余的 HLOS(高层操作系统)镜像。开发套件从 SD 卡启动此备份 HLOS,以确保持续运行。

支持的平台

要准备可启动的 SD 卡,请执行以下操作: 先决条件 使用 Linux 桌面系统执行第 1 至 5 步,准备可启动的 SD 卡。 步骤
  1. 在任意 Linux 系统上确认所插入 SD 卡的设备节点,例如 /dev/mmcblk1 或 /dev/mmcblk2。
  2. 要格式化 SD 卡,请在 Linux 终端上运行 mkfs.ext4 <sdcard slot> 命令。 在以下示例中,SD 卡的设备节点为 /dev/mmcblk1。
    输出:
  3. 使用 fdisk 命令在 SD 卡上创建两个分区,用于复制 efi.bin 和 rootfs.img。
    1. 创建第一个使用 vfat 文件系统的分区,用于复制 efi.bin。 要创建分区,请运行以下命令(例如,设备节点为 /dev/mmcblk1):在此示例中,将 First sector 字段留空,并确保 Last sector 足够大以复制 efi.bin。
      输出:
      要将该分区转换为 vfat 文件系统,请运行以下命令:
      输出:
    2. 按如下方式创建第二个使用 ext4 文件系统的分区,用于复制 rootfs.img: 要创建分区,请运行以下命令(例如,设备节点为 /dev/mmcblk1):在此示例中,将 First sector 字段留空,并确保 Last sector 足够大以复制 rootfs.img。
      输出:
      要将该分区转换为 ext4 文件系统,请运行以下命令:
      输出:
  4. 验证分区已创建:
    输出:
  5. 将主机上成功构建的 Qualcomm Linux 镜像中的 efi.bin 和 rootfs.img 复制到 SD 卡的分区上。在主机上运行以下命令:
    • dd if=<path>/efi.bin of=<sdcard slot> bs=4M
    • dd if=<path>/rootfs.img of=<sdcard slot> bs=4M 要从 /tmp 路径复制这两个镜像,以下是将它们复制到 SD 卡的示例:在此命令中,SD 卡的设备节点为 /dev/mmcblk1。
结果 SD 卡现在可以用作 Qualcomm Linux 开发套件的启动介质。插入 SD 卡后,仅当开发套件上的主闪存存储(UFS 或 eMMC)无法启动时,才会将 SD 卡用作后备启动介质。

模拟无法启动的情况

要验证 SD 卡是否被用作后备启动介质,您可以通过擦除主闪存存储(UFS 或 eMMC)的 EFI 分区来强制其进入无法启动的状态。在插入 SD 卡之前,当开发套件仍从主存储运行时,在开发套件上执行以下步骤:
  1. 通过 UART 控制台或 SSH 登录开发套件。
  2. 确认 EFI 分区以 /dev/disk/by-partlabel/efi 的形式暴露。此分区名称来自您平台的 partitions.conf 文件中的 --name=efi 条目。有关更多信息,请参阅在 Qualcomm Linux 中管理分区。
  3. 通过用零覆盖来擦除 EFI 分区:
  4. 将准备好的 SD 卡插入 SD 卡槽并重启开发套件。由于主存储上的 EFI 分区已被擦除,引导加载程序会回退到从 SD 卡启动。
擦除 EFI 分区会使主存储无法启动,直到重新烧录 EFI 分区为止。要恢复原始启动配置,请按照烧录预构建镜像中的步骤重新烧录设备,或重新构建并重新烧录 efi.bin 镜像。