构建并刷写 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 映像执行初始构建和刷写,请执行以下操作:

  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. 在主机上,启动引导服务器:

    fx flash

    引导服务器会连接到目标设备以上传 Fuchsia 映像,然后刷写目标设备。

重新构建并重新刷写 Fuchsia

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

  1. 确保 HEAD 处于良好状态,可在构建信息中心中拉取。
  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 变量的输出是一个以英文冒号分隔的目录列表。确保所有目录都不以英文句点 (.) 分隔。