本文转载自 Fuchsia 中文社区 GitHub (连接)翻译者:Whyto;更新时间:2023年4月12日。
在 NUC 迷你电脑上安装 Fuchsia
本指南提供了有关在 Intel NUC{:.external}(Next Unit of Computing)迷你电脑设备上 Fuchsia 安装方法的说明。
安装步骤为:
- 前提条件。
- 构建 Fuchsia。
- 准备 USB 驱动器。
- 启用 NUC 迷你电脑上的 EFI 引导。
- 将 Fuchsia 安装至 NUC 迷你电脑。
- (可选)将 Fuchsia SSH 密钥上传至 NUC 迷你电脑。
前提条件 {:#prerequisites .numbered}
开始在 NUC 迷你电脑设备上安装 Fuchsia 之前,请确保您完成了以下工作:
设置 Fuchsia 开发环境 {#set-up-fuchsia-env}
要在工作站上建立 Fuchsia 开发环境,请您完成开始使用 Fuchsia 指南。
获取配件 {#get-parts}
注意:Fuchsia 仅支持列入支持的系统配置清单的 NUC 迷你电脑配置。不过,未支持的 NUC 迷你电脑配置也可能运行 Fuchsia。要获取关于实验性安装的更多信息,请参阅实验性硬件。
本指南需要使用以下配件:
- 一台 NUC 迷你电脑设备(请参阅示例型号)
- 一个 USB 3.0 闪存驱动器
- 一个键盘
- 一只鼠标(可选)
- 一台带有 HDMI 端口的显示器
- 一条 HDMI 线缆
- 一条以太网线缆
- 一把十字头螺丝刀(带有磁性尖端)
注意:“2. 构建 Fuchsia”和“3. 准备 USB 驱动器”两节不需要 NUC 迷你电脑设备,因此您可以在获得 NUC 迷你电脑设备之前完成这些章节。但是,“3. 准备 USB 驱动器”一节需要 USB 闪存驱动器。
构建 Fuchisa {:#build-fuchsia .numbered}
要在 NUC 迷你电脑设备上安装 Fuchsia,您需要构建工作站镜像(workstation_eng.x64
),并在工作站上生成构建内容(包括 Fuchsia 安装程序)。
要构建安装在 NUC 迷你电脑上的 Fuchsia,请执行以下操作:
-
将构建配置设置为
workstation_eng.x64
恢复包(recovery-installer
):fx set workstation_eng.x64 --with //build/images/recovery:recovery-installer
-
构建 Fuchsia :
fx build
Fuchsia 构建可能长达 90 分钟。
准备 USB 驱动器 {:#prepare-usb .numbered}
您需要准备一个运行 Fuchsia 安装程序的可引导 USB 驱动器。稍后,在将 Fuchsia 安装至 NUC 迷你电脑一节,您将使用该 USB 驱动器将 NUC 迷你电脑引导至 Fuchsia 安装程序。
重要提示:下面的说明要求您已经在先前的构建 Fuchsia 一节完成了构建。
要准备可引导 USB 驱动器,请执行以下操作:
- 将 USB 驱动器插入您的工作站。
-
确定 USB 驱动器路径:
fx list-usb-disks
该命令打印的输出内容形如:
$ fx list-usb-disks
/dev/sda - My Example USB Disk
-
创建可引导 USB 驱动器:
fx mkinstaller -v {{ "<var>" }}PATH_TO_USB_DRIVE{{ "</var>" }}
在上述步骤中将 PATH_TO_USB_DRIVE
替换为 USB 驱动器路径。
下面的示例命令选择了 /dev/sda
路径:
$ fx mkinstaller -v /dev/sda
完成后,命令最终的输出结果形如:
$ fx mkinstaller -v /dev/sda
mkinstaller: WARNING: Changing ownership of /dev/sda to alice
[sudo] password for alice:
...
mkinstaller: INFO: Writing image fvm.sparse.blk to partition storage-sparse...
mkinstaller: INFO: Wrote 835.6M in 35.55s, 23.5M/s
mkinstaller: INFO: Done.
mkinstaller: INFO: Ejected USB disk
- 从工作站上拔下 USB 驱动器。
启用 NUC 迷你电脑上的 EFI 引导 {:#enable-efi-booting .numbered}
请更新 NUC 迷你电脑的 BIOS 设置,以便其从 USB 驱动器启动。
NUC 迷你电脑设备上的 BIOS 有两个版本:Visual BIOS(例如 NUC7)和 Aptio V BIOS(例如 NUC11)。 根据系统中包含的 BIOS 版本,设置步骤略有不同。
重要提示:为了能够进入 BIOS 设置模式,如果 NUC 迷你电脑设备已经连接到主机,那么您可能需要从设备上拔下以太网电缆。
- {Visual BIOS}
图 1. Visual BIOS 屏幕截图
要启用 NUC 迷你电脑上的 EFI(Extensible Firmware Interface,可扩展固件接口)引导,请执行以下操作:
- 重新启动您的 NUC 迷你电脑。
- 要进入 BIOS 设置,请在启动时按下
F2
。 - 点击上方的 Advanced(高级)按钮。
- 点击 Boot(引导)选项卡。
- 点击 Boot Priority(引导优先级)选项卡,确认以下设置:
- **UEFI Boot**(UEFI 引导)已勾选。
- **Legacy Boot**(旧版引导)已取消勾选。
选项卡的屏幕截图"){: width="700"}
- 点击 Boot Configuration(引导配置)选项卡,并确认下列设置:
- 在 **UEFI Boot**(UEFI 引导)窗口中:
- **Boot USB Devices First**(首先使用 USB 设备引导)已勾选。
- **Boot Network Devices Last**(最后使用网络设备引导)已勾选。
- **Unlimited Network Boot Attempts**(网络引导尝试不限次数)已勾选。
- 在 **Boot Devices**(引导设备)窗口中:
- **USB** 已勾选。
- **Network Boot**(网络引导)已设置为 `UEFI PXE & iSCSI`。
选项卡的屏幕截图"){: width="400"}
- 点击 Secure Boot(安全引导)选项卡,并确认以下设置:
- **Secure Boot**(安全引导)已取消勾选。
选项卡的屏幕截图"){: width="400"}
- 要保存并退出 BIOS,请按下
F10
,然后点击 Yes(是)。
- {Aptio V BIOS}
图 2. Aptio V BIOS 的屏幕截图
要在您的 NUC 迷你电脑上启用 EFI(Extensible Firmware Interface,可扩展固件接口)引导,请执行以下操作:
- 重新启动您的 NUC 迷你电脑。
- 要进入 BIOS 设置,请在启动时按下
F2
。 - 点击 Boot(引导)选项卡。
- 点击 Secure Boot(安全引导),并确认以下设置:
- **Secure Boot**(安全引导)已设置为 `Disabled`(禁用)。
选项卡的屏幕截图"){: width="500"}
- 要返回,请点击左侧的 < 按钮。
- 点击 Boot Priority(引导优先级)并确认以下设置:
- **UEFI Boot**(UEFI 引导)已勾选。
- **Legacy Boot**(旧版引导)已取消勾选。
注意:如果您没有看到 **UEFI Boot** 和 **Legacy Boot** 选项,则表示您的系统不支持旧版引导。请跳过这两项检查。
- **Boot USB Devices First**(首先使用 USB 设备引导)已勾选。
- **Boot Network Devices Last**(最后使用网络设备引导)已勾选。
- **Unlimited Network Boot Attempts**(网络引导尝试不限次数)已勾选。
- **USB** 已勾选。
- **Network Boot**(网络引导)已设置为 `UEFI PXE & iSCSI`。
选项卡的屏幕截图"){: width="500"}
- 要保存并退出 BIOS,请按下
F10
,然后点击 Ok(好)。
将 Fuchsia 安装至 NUC 迷你电脑 {:#install-fuchsia .numbered}
请使用可引导 USB 驱动器将您的 NUC 迷你电脑引导至 Fuchsia 安装程序中。之后程序会将工作站镜像(构建于构建 Fuchsia 一节)安装至 NUC 迷你电脑。
要在您的 NUC 迷你电脑上安装 Fuchsia,请执行以下操作:
- 将可引导 USB 驱动器插入您的 NUC 迷你电脑中。
- 重新启动您的 NUC 迷你电脑。
NUC 迷你电脑引导至 Fuchsia 工作站安装程序(背景为粉红色)。
- 按下 Enter(回车)键选择
Install from USB
(从 USB 安装)选项。
- 在出现其他提示时按下 Enter(回车)键继续。
- 安装完成后,从 NUC 迷你电脑设备上拔下 USB 驱动器。
- 重新启动 NUC 迷你电脑设备。
NUC 迷你电脑现在将引导至 Fuchsia 工作站。
注意:之后,如果您需要安装新版本的 Fuchsia(例如,在使用 fx build
重新构建新的工作站镜像后),请参见附录中将 Fuchsia 新镜像刷入 NUC 迷你电脑 一节。
(可选)将 Fuchsia SSH 密钥上传至 NUC 迷你电脑 {:#upload-fuchsia-ssh-keys .numbered}
如果您计划使用该 NUC 迷你电脑设备进行 Fuchsia 开发,那么您需要将 Fuchsia 镜像从您的主机刷入该 NUC 迷你电脑设备,从而上传 Fuchsia 特定的 SSH 密钥 至 NUC 迷你电脑。 Fuchsia 特定的 SSH 密钥上传至 NUC 迷你电脑之后,您就可以从主机在 NUC 迷你电脑上执行 ffx
-based workflows 了。
要将 Fuchsia SSH 密钥上传至 NUC 迷你电脑,请执行以下操作:
- 完成附录中将 Fuchsia 新镜像刷入 NUC 迷你电脑 一节中的步骤。
-
要验证从主机到 NUC 迷你电脑的连接性,请运行以下命令:
ffx target show
该命令的输出形如:
$ ffx target show
Target:
Name: "fuchsia-54b2-0389-644b"
SSH Address: "fe81::55b1:2ff2:fe34:567b%en10:22"
Board:
Name: "default-board"
Revision: "1"
Instruction set: "x64"
...
附录
支持的 NUC 迷你电脑型号 {#supported-nuc-models}
为获得 GPU 支持,请使用 NUC 迷你电脑 7(Kaby Lake)、NUC 迷你电脑 8(Coffee Lake)或更新版本。
下面的列表展示了一些示例型号:
- Intel® NUC 套件 NUC7i5DNKE{:.external}
- Intel® NUC 套件 NUC7i5DNHE{:.external}(最佳选择)
- Intel® NUC 套件 NUC7i3DNKE{:.external}
- Intel® NUC 套件 NUC7i3DNHE{:.external}
- Intel® NUC 套件 NUC8i5BEK{:.external}
- Intel® NUC 套件 NUC8i5BEH{:.external}
- Intel® NUC 套件 NUC8i3BEK{:.external}
- Intel® NUC 套件 NUC8i3BEH{:.external}
将 Fuchsia 新镜像刷入 NUC 迷你电脑 {#flash-fuchsia}
NUC 迷你电脑运行 Fuchsia 之后,您就可以使用 Fuchsia 的刷入机制(flashing mechanism)来为 NUC 迷你电脑提供 Fuchsia 新镜像了。
要将 Fuchsia 镜像刷入您的 NUC 迷你电脑,请执行以下操作:
- 使用以太网线缆将 NUC 迷你电脑直接连接到工作站。
(您也可以将 NUC 迷你电脑连接到与工作站相同本地网络下的路由器或 WiFi 调制解调器)
注意:网络引导仅适用于 NUC 迷你电脑的内置以太网端口。(通过以太网转 USB 适配器)使用 USB 端口进行网络引导是不支持的。
- 重新启动您的 NUC 迷你电脑。
- 在 Fuchsia 引导屏幕下,请按下
f
键以选择fastboot
选项。
NUC 迷你电脑处于 Fastboot 模式时,会在屏幕上输出 Fastboot TCP is ready
(Fastboot TCP 就绪)。
-
在您的工作站上,发现处于 Fastboot 模式的 NUC 迷你电脑:
ffx target list
该命令打印的输出形如:
$ ffx target list
NAME SERIAL TYPE STATE ADDRS/IP RCS
fuchsia-54b2-0389-644b <unknown> Unknown Fastboot [fe81::55b1:2ff2:fe34:567b%en10] N
验证设备状态为 Fastboot
。
- 将 Fuchsia 新镜像刷入 NUC 迷你电脑:
注意:要构建 Fuchsia 新镜像,请参阅上述构建 Fuchsia 一节。
fx flash
您如果曾将多个设备连接到主机,则可能需要显式指出 NUC 迷你电脑设备的名称,例如:
fx flash -s fuchsia-54b2-0389-644b
完成后,NUC 迷你电脑会重新启动并开始运行新的 Fuchsia 镜像。
NUC 迷你电脑设备的远程管理 {:#remote-management-of-nuc-devices}
要启用包括 KVM 在内的远程管理,您需要配置 Intel AMT{:.external}(Active Management Technology,主动管理技术)。
注意:这里假设您使用的是连接至边界路由器的 NUC 迷你电脑。如果您的网络设置不同,则可能需要不同的网络配置。
首先,在您的 NUC 迷你电脑上配置Intel ME:
- 重新启动您的 NUC 迷你电脑。
- 在启动屏幕下,按下
Ctrl+P
以进入Intel ME 设置。 - 选择 MEBx Login(MEBx 登录)。
- 设置新密码,默认密码为
admin
。
注意:密码必须至少 8 个字符长,同时包含小写和大写字母,且包含至少一个数字和至少一个非字母数字字符(“_”视为字母数字)。
提示:如果您选择的密码恰为 8 个字符长,则可以使用相同的密码作为下文的 VNC 密码。
- 配置网络:
- 选择 Intel(R) AMT Configuration(Intel(R)AMT 配置)。
- 取消(unconfigure)现有网络设置:
1. 选择 **Unconfigure Network Access**(取消网络访问配置)。
1. 选择**Full Unprovision**(完全取消)。
1. 按下 `Y` 确认。
- 选择 Network Setup(网络设置)> TCP/IP Settings(TCP/IP 设置)> Wired LAN IPV4 Configuration(有线局域网 IPv4 配置)。
- 将 DHCP Mode(DHCP 模式)设置为 Disabled(禁用)。
- 将 IPV4 Address(IPv4地址)设置为一个您的主机通过边界路由器可达的地址。
在您的主机上,运行 `ifconfig`,找到与边界路由器对应的条目:
``` none {:.devsite-disable-click-to-copy}
$ ifconfig
enx00e04c0c13ba: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.42.86 netmask 255.255.255.0 broadcast 192.168.42.255
...
```
在这种情况下,您可以尝试使用地址 **192.168.42.20**。
- 将 Subnet Mask Address(子网掩码地址)设置为主机到边界路由器连接的网络掩码,例如 255.255.255.0。
- 按下
Esc
,直到您返回至 Intel(R) AMT Configuration。 - 选择 Activate Network Access(激活网络访问),然后按下
Y
确认。 - 退出 Intel ME 设置并保存您的更改。
现在,在主机计算机上配置 amtctrl
{:.external} 命令行实用程序:
该说明假设您设置了下列环境变量:
-
AMT_HOST
:您在 Intel ME 设置中配置的 IPv4 地址。 -
AMT_PASSWORD
:您为 Intel ME 选择的密码。 -
VNC_PASSWORD
:通过 VNC 访问 NUC 迷你电脑的密码。
注意:VNC_PASSWORD
所使用的密码必须恰为 8 个字符长,必须同时包含小写和大写字符、至少一个数字和至少一个非字母数字字符。
-
克隆
amtctrl
仓库:git clone https://github.com/sdague/amt
-
安装
amtctrl
:cd amt && sudo ./setup.py install
-
配置 NUC 迷你电脑的 IP 地址和密码:
amtctrl set -V $VNC_PASSWORD nuc $AMT_HOST $AMT_PASSWORD
-
启用 VNC:
amtctrl nuc vnc
现在,您可以使用主机上的任意 VNC 客户端通过连接到 AMT_HOST
中设置的 IP 地址来访问 NUC 迷你电脑。出现提示时,请输入 VNC_PASSWORD
中设置的密码。
注意:NUC 迷你电脑需要通过 HDMI 线缆连接至显示器,以接受 VNC 连接。
您也可以使用以下终端命令打开、关闭或重新启动 NUC 迷你电脑:
-
打开 NUC 迷你电脑:
amtctrl nuc on
-
关闭 NUC 迷你电脑:
amtctrl nuc off
-
重新启动 NUC 迷你电脑:
amtctrl nuc reboot