本 Codelab 系列重点介绍 Fuchsia 模拟器 (FEMU) 作为目标 它是使用源代码树进行构建和分发的, 开发机器。不过,您也可以为支持的硬件构建 Fuchsia。 例如 Intel NUC。
本部分介绍了在 实体设备
配置
Fuchsia 通过板名称定义了对硬件设备的支持,该板名称用于
配置 build。这包括所有特定于硬件的软件包,例如
。回顾之前使用的 fx set
命令:
fx set workbench_eng.x64
在此示例中,x64
是可以在 FEMU 和 Intel NUC 上运行的主板名称。
如需为 Khadas VIM3 构建相同的产品,您可以修改 set
命令以使用 vim3
开发板。
fx set workbench_eng.vim3
运行 fx build
现在将为目标设备生成图像。
引导
在刷写操作系统之前,受支持的设备必须 已安装与 Fuchsia 兼容的引导加载程序。这一过程称为 引导设备。许多设备都有兼容的引导加载程序 但在出厂时安装,则其他应用可能需要制造商专用的工具才能 将引导加载程序更新到兼容的版本。 如需了解详情,请参阅设备文档 有关特定设备的详细信息
<ph type="x-smartling-placeholder">闪光灯
将操作系统加载到设备上的过程称为
闪烁。将处于引导加载程序模式下的设备连接到您的工作台后,
您可以使用 flash
命令将 Fuchsia 刷写到设备上。
fx flash
对于已刷写的设备,您可以从 Fuchsia 重新启动它们
进入引导加载程序模式。ffx
ffx target reboot --bootloader
Discover
你可以通过开发机器发现 Fuchsia 设备并与之互动 通过 USB 或本地 IPv6 网络进行连接。Fuchsia 启用了自动设备功能 使用基于多播 DNS (mDNS) 的 DNS 服务发现 (DNS-SD) 进行发现,以及 Overnet Mesh 协议。
ffx
等托管工具可发现广告设备并启用主机目标
与实体设备和 FEMU 的交互。
ffx target list
NAME SERIAL TYPE STATE ADDRS/IP RCS
fuchsia-5254-0063-5e7a <unknown> . Product [fe80::c357:53e7:aedf:ed95%qemu] Y
如果目标设备不通告发现数据包或 ffx
无法通告
您可以使用add
和remove
手动管理这些目标
命令:
ffx target add device-ip:device-port
ffx target remove device-ip:device-port
在目标列表中跟踪到某个设备后,ffx
便会与 Remove 互动
目标上的控制服务 (RCS),使您能够发送其他命令。
后续操作
恭喜!您已经从源代码成功自定义和构建了 Fuchsia, 以便更好地了解关键系统组件在 源代码树。
在下一单元中,您将详细了解如何构建 Fuchsia 的基本单元 软件开发