“构建并铺砌”快速入门

本文档介绍了如何使用 fx 开发命令在目标设备上构建和部署 Fuchsia。其中大多数命令都有其他命令,请参阅 fx help <command> 了解详情。

确定 U 盘设备路径

在尝试构建 Fuchsia 并在目标设备上铺路之前,您需要知道 U 盘的路径。

fx

要确定 U 盘的正确路径,请按以下步骤操作:

fx mkzedboot

Linux

要确定 U 盘的正确路径,请按以下步骤操作:

sudo fdisk -l

驱动器通常采用 /dev/sd[x] 格式,例如 /dev/sdc

请确保选择的是驱动器,而不是特定分区。例如,特定分区的路径末尾有一个数字,例如 /dev/sdc1

macOS

要确定 U 盘的正确路径,请按以下步骤操作:

diskutil list | grep external

驱动器通常采用 /dev/disk[n] 格式,例如 /dev/disk2

hdiutil unmount /dev/disk[n]

如果上述操作未能解决问题,请尝试重新格式化驱动器:

diskutil eraseDisk JHFSX <name_of_the_usb_stick> /dev/disk[n]

构建和部署 Fuchsia

如需使用 fx 执行 Fuchsia 的初始构建和部署,请执行以下操作:

  1. 设置 build 类型:

    fx set core.x64
    
  2. 构建 Fuchsia 映像:

    fx build
    

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

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

    fx mkzedboot <usb_drive_device_path>
    
  4. 将 Zedboot U 盘连接到目标设备,然后重新启动该设备。

  5. 在目标设备上,运行以下命令:

    lsblk
    
  6. 记下 lsblk 输出中的 HDD 或 SSD 的设备路径。示例路径如下所示:/dev/sys/platform/pci/00:17.0/ahci/sata0/block

  7. 在目标设备上,运行以下命令:

    install-disk-image init-partition-tables --block-device <BLOCK_DEVICE_PATH>
    
  8. 如需从主机启动启动服务器,请运行以下命令:

    fx pave
    

重新构建并重新部署 Fuchsia

如需使用 fx 重新构建并重新部署,请执行以下操作:

  1. 确保 HEAD 处于良好的状态,可以在构建信息中心进行拉取。
  2. 获取最新代码:

    jiri update
    
  3. 构建 Fuchsia 映像:

    fx build
    

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

  4. (仅适用于 macOS 用户)设置防火墙规则:

    fx setup-macos
    
  5. 从主机启动开发软件包服务器:

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

  7. 在您的主机上,将更新后的 Fuchsia 软件包推送到目标设备:

    fx ota
    

    在某些情况下,如果 fx ota 未能成功完成,请考虑使用 fx pave 重新执行。

问题排查

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

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

    echo $PATH
    

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