这篇文档介绍了一般情况下使用 fx 开发命令在设备上构建和部署 Fuchsia。大多数此类命令都有不常见情况的选项;有关详细信息,请参阅 fx help <command>。
构建与部署
使用 fx 的初始构建和部署工作流程如下:
- 
fx set <arch>
 为 [x64, arm64] 其中一个配置构建内容。 
- 
fx full-build构建 Zircon,然后是 Fuchsia 的其余部分。 
- 
fx mkzedboot <usb_drive_device_path>构建 Zedboot 介质然后安装到 USB 驱动器中。请参见下边的内容说明,获取 USB 驱动器的路径。 
- 
fx pave启动 bootserver。 
- 
将 Zedboot USB 连接到设备并重新启动。 
 Zedboot 会连接主机设备,并下载安装镜像,然后安装到设备中。
USB 驱动器的路径
根据主机设备操作系统的不同,确定 USB 驱动器的正确路径的说明如下。你可以运行这些命令观察在连接 USB 驱动器和未连接 USB 驱动器时的区别。
- 
Linux 用户: - sudo fdisk -l
 
 
 设备通常是 /dev/sd[x] 这种格式,例如:“/dev/sdc”。选择驱动器而不是特定分区。 
- 
Mac 用户: - diskutil list | grep external
 
 设备通常是 /dev/disk[n] 这种格式,例如:“/dev/disk2”。 - 如果看到错误 “ERROR: Can’t open /dev/disk[n]: Resource busy” 那么你需要解除 USB 挂载。运行 hdiutil unmount /dev/disk[n]。如果没有修复这个错误,尝试重新配置驱动:diskutil eraseDisk JHFSX <name_of_the_usb_stick> /dev/disk[n]。
 
后续构建和部署
使用 fx 重新构建和重新部署的工作流略有不同:
- 
检查瀑布式仪表盘。 
 帮助确保 HEAD 处于可拉取状态。
- 
jiri update
 获取最新的源码。
- 
fx full-build构建 Zircon,和 Fuchsia 的剩余部分。 
- 
fx serve在 host 上启动开发包服务器。 
- 
移除 Zedboot USB 启动设备。 将设备引导至最后安装的状态。 
- 
fx ota将更新的包推送到设备。 
注意:如果需要,可以按照上一节中的步骤 4-5 使用 Zedboot USB 重新安装。虽然这比较慢,但是在系统处理 OTA 的方式不够优雅的情况下这可能又是必须的。
常见问题
- 在你的路径中含有 “.” 有可能导致 fx full-build运行失败。脚本会改变工作目录,这有可能导致使用的命令(例如:touch)和在工作目录下的二进制文件产生冲突。
 




Comments