Skip to content

Latest commit

 

History

History
136 lines (93 loc) · 5.33 KB

build_and_pave_quickstart.md

File metadata and controls

136 lines (93 loc) · 5.33 KB

快速入门与应用

这篇文档介绍了一般情况下使用 fx 开发命令在设备上构建和部署 Fuchsia。大多数此类命令都有不常见情况的选项;有关详细信息,请参阅 fx help <command>

构建与部署

使用 fx 的初始构建和部署工作流程如下:

  1. fx set <arch> 为 [x64, arm64] 其中一个配置构建内容。

  2. fx full-build

    构建 Zircon,然后是 Fuchsia 的其余部分。

  3. fx mkzedboot <usb_drive_device_path>

    构建 Zedboot 介质然后安装到 USB 驱动器中。请参见下边的内容说明,获取 USB 驱动器的路径。

  4. fx pave

    启动 bootserver。

  5. 将 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 重新构建和重新部署的工作流略有不同:

  1. 检查瀑布式仪表盘。 帮助确保 HEAD 处于可拉取状态。

  2. jiri update 获取最新的源码。

  3. fx full-build

    构建 Zircon,和 Fuchsia 的剩余部分。

  4. fx serve

    在 host 上启动开发包服务器。

  5. 移除 Zedboot USB 启动设备。

    将设备引导至最后安装的状态。

  6. fx ota

    将更新的包推送到设备。

注意:如果需要,可以按照上一节中的步骤 4-5 使用 Zedboot USB 重新安装。虽然这比较慢,但是在系统处理 OTA 的方式不够优雅的情况下这可能又是必须的。

常见问题

  1. 在你的路径中含有 “.” 有可能导致 fx full-build 运行失败。脚本会改变工作目录,这有可能导致使用的命令(例如:touch)和在工作目录下的二进制文件产生冲突。