这些 Chromebook 开发者经常使用,应当是稳定支持的。
- Google Pixelbook Go(atlas)
这些 Chromebook 受到“尽力而为”的支持,并且不会受到定期测试。
- Google Pixelbook(eve)
其他基于 x86 的 ChromeOS 设备可能工作,也可能不会工作。基于 ARM 的 ChromeOS 设备无法开箱即用。
请确保您为 Fuchsia 进行了 chromebook-x64
构建。
-
完成下载 Fuchsia 源代码指南。
-
请在配置和构建 Fuchsia中设置您的构建配置,以使用如下的 Chromebook 产品:
fx set workstation_eng.chromebook-x64 --release
如果您的 Chromebook 从未启动过,请您最好将其启动,以检查重要的更新,步骤如下:
- 正常启动 Chromebook。通常,打开盖子会启动设备。如果没有启动,请使用位于设备左侧、靠近腕托位置的电源按钮。
- 点按“开始使用”(Let's go)按钮。
- 连接到有线或无线网络。
- 接受条款,以进入更新检查步骤。
- 设备应当检查并安装找到的更新。
- 更新重启之后,点按左下角的“以访客身份浏览”(Browse as Guest)。
- 通过浏览器用户界面,前往“设置->关于 Chrome OS”(Settings->About Chrome OS)或“帮助->关于 Chrome OS”(Help->About Chrome OS),确认新安装的版本。
注意:这将会擦除保存在您 Chromebook 本地的任何状态。
- 关闭 Chromebook 电源。
- 进入恢复模式。同时按住 Esc+Refresh(键盘顶行的第一和第三个按钮)。接着按下电源按钮(设备的左下方)。
- 按下 Ctrl+D,以在禁用 OS 验证的情况下启动。您应当看到“要关闭 OS 验证,请按下 ENTER。”(To turn OS verification OFF, press ENTER)
- 当您的设备重启时,您将收到 OS 验证已经关闭的确认信息。再次按下 Ctrl+D 进入开发者模式(Developer Mode)。
- 等待设备自行完成重新配置,可能需要几分钟时间。设备最初可能看起来没有任何反应。请允许设备静置一到两分钟。在此过程的前期,您可能听到两次响亮的“哔”声。该过程在您再次听到两次响亮的“哔”声时完成。
- 当开发者模式转换完成时,设备应当自行重启。现在您可以跳至“从 USB 启动”一节的步骤 #2 了。
- 启动至 ChromeOS。
- 您应当看到显示“OS 验证已关闭”(OS verification is OFF)的画面,在大约 30 秒后,启动会继续。请等待欢迎或登录界面加载。请忽略任何用于“启用调试功能”(Enable debugging features)的链接。
- 按下 Ctrl+Alt+Refresh/F3 进入命令行界面。如果该组合键无效,请尝试再次重启 Chromebook。
- 进入“chronos”用户,密码留空。
- 运行
sudo crossystem dev_boot_usb=1
,启用 USB 启动。
- (可选)运行
sudo crossystem dev_default_boot=usb
,将 USB 启动设为默认。
- 将 USB 驱动器插入 Chromebook。
- 键入
sudo reboot
进行重启。
- 在“OS 验证已关闭”画面,按下 Ctrl+U 跳过超时等待并立即从 USB 启动。(要获取其他短路选项,请参阅提示和技巧)
仅当您想要重新铺设(re-pave)或另行从网络启动设备时,才需要 USB 驱动器进行引导。
如果您未将 USB 启动设为默认(步骤 #6),那么在开机时,您将需要在灰色的“警告 OS 未验证”(warning OS-not verified)画面按下 Ctrl+U,以从 USB 启动。
如果设备试图从 USB 启动(可能是因为您将其设为了默认,或按下了 Ctrl+U)失败,那么您将听到一次相当响亮的“哔”声。
注意,已经观察到启动过程中 ChromeOS 引导加载程序 USB 枚举速度很慢。如果您在从 USB 启动时遇到问题,那么在设备通过引导加载程序前,移除其他 USB 设备可能会有所帮助;另外,也请避免使用 USB 集线器。
默认情况下,ChromeOS 引导加载程序的超时等待时间很长,以便您能够按下按键。要跳过此过程,您可以在警告 OS 无法验证的灰色画面中按下 Ctrl+D 或 Ctrl+U。Ctrl+D 将使设备跳过超时等待,并从其默认源启动。Ctrl+U将跳过超时等待,并从 USB 启动设备。
Fuchsia 具有称为 cros_nvtool
的 crossystem
等价物。您可以运行 cros_nvtool set dev_boot_default <usb|disk>
将系统的默认引导源分别修改为 USB 或硬盘。
要返回 ChromeOS,您必须修改 Fuchsia 内核分区的优先级低于两个 ChromeOS 内核分区中的至少一个。
-
如果您未处于虚拟控制台中,请按下 Alt+Esc 进入其中
-
按下 Alt+Fullscreen 进入 Fuchsia 中的终端模拟器
-
使用
lsblk
命令查找含有 KERN-A、KERN-B 和 KERN-C 分区的硬盘。下例中为设备 000,请注意,内核分区的设备路径是其设备本身路径的扩展。$ lsblk ID SIZE TYPE LABEL FLAGS DEVICE 000 232G /dev/sys/platform/pci/00:1e.4/pci-sdhci/sdhci/sdmmc/block 001 5G data STATE /dev/sys/platform/pci/00:1e.4/pci-sdhci/sdhci/sdmmc/block/part-000/block 002 16M cros kernel KERN-A /dev/sys/platform/pci/00:1e.4/pci-sdhci/sdhci/sdmmc/block/part-001/block 003 4G cros rootfs ROOT-A /dev/sys/platform/pci/00:1e.4/pci-sdhci/sdhci/sdmmc/block/part-002/block 004 16M cros kernel KERN-B /dev/sys/platform/pci/00:1e.4/pci-sdhci/sdhci/sdmmc/block/part-003/block 005 4G cros rootfs ROOT-B /dev/sys/platform/pci/00:1e.4/pci-sdhci/sdhci/sdmmc/block/part-004/block 006 64M cros kernel KERN-C /dev/sys/platform/pci/00:1e.4/pci-sdhci/sdhci/sdmmc/block/part-005/block 007 4G cros rootfs ROOT-C /dev/sys/platform/pci/00:1e.4/pci-sdhci/sdhci/sdmmc/block/part-006/block
-
使用
gpt
命令查看设备(例,000)的分区表。$ gpt dump /dev/class/block/000 blocksize=0x200 blocks=488554496 Partition table is valid GPT contains usable blocks from 34 to 488554462 (inclusive) Paritition 0: STATE Start: 478035968, End: 488521727 (10485760 blocks) id: 51E8D442-0419-2447-96E5-49CB60CF0B25 type: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 flags: 0x0000000000000000 Paritition 1: KERN-A Start: 20480, End: 53247 (32768 blocks) id: 054CD627-F23C-5C40-8035-C188FA57DE9C type: FE3A2A5D-4F32-41A7-B725-ACCC3285A309 flags: priority=2 tries=0 successful=1 Paritition 2: ROOT-A Start: 8704000, End: 17092607 (8388608 blocks) id: 936E138F-1ACF-E242-9C5B-3667FAA3C10C type: 3CB8E202-3B7E-47DD-8A3C-7FF2A13CFCEC flags: 0x0000000000000000 Paritition 3: KERN-B Start: 53248, End: 86015 (32768 blocks) id: A8667891-8209-8648-9D5E-63DC9B8D0CB3 type: FE3A2A5D-4F32-41A7-B725-ACCC3285A309 flags: priority=1 tries=0 successful=1 Paritition 4: ROOT-B Start: 315392, End: 8703999 (8388608 blocks) id: 8B5D7BB4-590B-E445-B596-1E7AA1BB501F type: 3CB8E202-3B7E-47DD-8A3C-7FF2A13CFCEC flags: 0x0000000000000000 Paritition 5: KERN-C Start: 17092608, End: 17223679 (131072 blocks) id: C7D6B203-C18F-BC4D-9160-A09BA8970CE1 type: FE3A2A5D-4F32-41A7-B725-ACCC3285A309 flags: priority=3 tries=15 successful=1 Paritition 6: ROOT-C Start: 17223680, End: 25612287 (8388608 blocks) id: 769444A7-6E13-D74D-B583-C3A9CF0DE307 type: 3CB8E202-3B7E-47DD-8A3C-7FF2A13CFCEC flags: 0x0000000000000000
- 注意,KERN-A 和 KERN-B 通常具有 ChromeOS 内核。Zircon 内核在上例中显示为 KERN-C,或者在某些设置中为 ZIRCON-A。
要进入 ChromeOS,请通过引用硬盘上分区的索引,来降低 KERN-C(或 ZIRCON-A)的优先级。例如:
$ gpt edit_cros 5 -P 0 /dev/class/block/000
- 重启。
- 当 ChromeOS 引导加载程序出现时,请按下空格键重新启用 OS 验证。您的设备将会重启。这一次,消息会显示“您的系统正在进行自我修复。请稍候。”(Your system is repairing itself. Please wait.)该操作将大约需要 5 分钟,之后 Chromebook 将最后重启一次。设备将重启至初始设置界面。
要返回 Fuchsia 内核,请重新铺设设备。