构建并刷写 Fuchsia

本文档逐步介绍了如何使用 fx 命令在硬件设备上构建和刷写 Fuchsia 映像。

确定 U 盘设备路径

在目标设备上构建和刷写 Fuchsia 之前,您首先需要确定 USB 驱动器的路径。

建议先断开 USB 驱动器的连接,运行一次以下命令,然后再连接 USB 驱动器,再次运行该命令,以查看差异。

fx 工具

如需使用 fx 工具检查 USB 驱动器的正确路径,请运行以下命令:

fx mkzedboot

fx 工具与平台无关,可列出可用的 USB 驱动器。

Linux 命令

如需使用 Linux 命令检查 USB 驱动器的正确路径,请运行以下命令:

sudo fdisk -l

驱动器通常采用 /dev/sd* 形式,例如 /dev/sdc。请务必选择硬盘,而不是特定分区。例如,特定分区在路径末尾有一个数字,例如 /dev/sdc1

构建和刷写 Fuchsia

如需使用 fx 工具执行 Fuchsia 映像的初始 build 和刷写,请执行以下操作:

  1. 设置 Fuchsia build 配置:

    fx set core.x64

    此配置可将 build 配置为在通用 x64 板上构建 core 产品。如需查看可用产品和主板的列表,请分别参阅 fx list-productsfx list-boards,以获取可用产品列表。

  2. 构建 Fuchsia 映像:

    fx build

    此命令会先构建 Zircon,然后构建 Fuchsia 的其余部分。

  3. 构建 Zedboot 媒体并安装到 USB 设备目标平台:

    fx mkzedboot <usb_drive_device_path>

    如需了解如何获取 USB 驱动器设备路径,请参阅 USB 驱动器设备路径

  4. 将 Zedboot USB 驱动器连接到目标设备,然后重新启动该设备。

  5. 在目标设备上,运行:

    install-disk-image init-partition-tables
  6. 从主机启动 bootserver:

    fx flash

    bootserver 连接到目标设备以上传 Fuchsia 映像,然后刷写目标设备。

重新构建并重新刷写 Fuchsia

如需使用 fx 工具重新部署 Fuchsia,请执行以下操作:

  1. 确保 HEAD 处于良好状态,以便在build 信息中心拉取。
  2. 获取最新代码:

    jiri update
  3. 构建 Fuchsia 映像:

    fx build

    此命令会先构建 Zircon,然后构建 Fuchsia 的其余部分。

  4. 从主机启动开发软件包服务器:

    fx serve
  5. 在未连接 Zedboot USB 的情况下启动目标设备。

  6. 从主机将更新后的 Fuchsia 软件包推送到目标设备:

    fx ota

    在某些情况下,如果 fx ota 未成功完成,请考虑使用 fx flash 重新铺设。

问题排查

如果 fx build 失败,请确保已正确设置 PATH 环境变量。

如需查看 PATH 变量的值,请执行以下操作:

echo $PATH

确保 PATH 变量的输出是以英文冒号分隔的目录列表。确保所有目录之间都没有用点 (.) 分隔。