本文档介绍了如何使用 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 的初始构建和部署,请执行以下操作:
设置 build 类型:
fx set core.x64
构建 Fuchsia 映像:
fx build
此命令会构建 Zircon,然后再构建 Fuchsia 的其余部分。
构建 Zedboot 媒体并安装到 USB 设备目标:
fx mkzedboot <usb_drive_device_path>
将 Zedboot U 盘连接到目标设备,然后重新启动该设备。
在目标设备上,运行以下命令:
lsblk
记下
lsblk
输出中的 HDD 或 SSD 的设备路径。示例路径如下所示:/dev/sys/platform/pci/00:17.0/ahci/sata0/block
。在目标设备上,运行以下命令:
install-disk-image init-partition-tables --block-device <BLOCK_DEVICE_PATH>
如需从主机启动启动服务器,请运行以下命令:
fx pave
重新构建并重新部署 Fuchsia
如需使用 fx
重新构建并重新部署,请执行以下操作:
- 确保 HEAD 处于良好的状态,可以在构建信息中心进行拉取。
获取最新代码:
jiri update
构建 Fuchsia 映像:
fx build
此命令会构建 Zircon,然后再构建 Fuchsia 的其余部分。
(仅适用于 macOS 用户)设置防火墙规则:
fx setup-macos
从主机启动开发软件包服务器:
fx serve
在未连接 Zedboot USB 的情况下启动目标设备。
在您的主机上,将更新后的 Fuchsia 软件包推送到目标设备:
fx ota
在某些情况下,如果
fx ota
未能成功完成,请考虑使用fx pave
重新执行。
问题排查
如果
fx build
失败,请确保PATH
环境变量设置正确。如需查看
PATH
变量的值,请执行以下操作:echo $PATH
确保
PATH
变量的输出是以英文冒号分隔的目录列表。请确保所有目录都没有用.
分隔。