RFC-0081:Fastboot 開機

RFC-0081:fastboot boot
狀態已接受
區域
  • 一般
說明

以快速系統啟動模式取代以 Zedboot 為基礎的網路啟動流程

Gerrit 變更
作者
審查人員
提交日期 (年-月-日)2021-03-09
審查日期 (年-月-日)2021-03-25

摘要

本文建議您透過 Zedboot 的 netsvc 淘汰 RAM 載入功能。而是建議以 fastboot boot 為基礎的流程取代以 netsvc 為基礎的 RAM 載入流程。

提振精神

不使用 netsvc RAM 載入功能,可避免 Zedboot 和 Bootloader 之間重複這項功能。本 RFC 與 RFC「Deprecate Zedboot-based paving for provisioning devices」相符,兩者都聚焦在使用 fastboot 而非 Zedboot,以便最終淘汰並移除 Zedboot。

背景

Netsvc RAM 載入通常用於使用 Zedboot 的啟動工作流程。不過,支援 fastboot boot 的系統啟動載入程式已提供這項功能,例如透過網路部署至裝置的 RAM 載入版本,以及透過 USB 載入 RAM。Zedboot 最初是為了提供簡單的網路連線替代方案,以取代使用 Bootloader,因為 UEFI Bootloader 的品質不一,且在某些情況下,fastboot 的穩定性不夠高。對於目前由 Fuchsia 支援且支援程度足夠或正在支援的目標而言,這並不是太大的問題 (例如 https://fxbug.dev/42137791)。在無法使用 fastboot 的平台上,您可以備份將 Fuchsia 刷新至 USB 裝置,然後從該裝置啟動。

設計

Fastboot 是成熟的機制,目前已在 Android 裝置中使用。支援 Fuchsia 的啟動載入程式必須遵循 fastboot 通訊協定

實作

回溯相容性

更新 fx 指令碼並移除 Zedboot 後,就不會與 netsvc 相容。

安全性和隱私權考量

fastboot boot 將支援已解鎖的「dev」系統啟動載入程式。fastboot boot 目前正在考慮支援鎖定的系統啟動載入程式和未鎖定的「prod」系統啟動載入程式,但這並未在本 RFC 中定義。

說明文件

開發人員工作流程的說明文件必須更新,以反映新的 fasboot boot 型流程。

缺點、替代方案和未知事項

缺點是,除了已支援 fastboot 的 Fuchsia 啟動載入程式外,這項做法還會承諾在其他 Fuchsia 啟動載入程式中支援 fastboot。也就是說,當新電路板在 Fuchsia 中啟動時,需要在早期啟動期間支援快速啟動。這包括在 Intel NUC (https://fxbug.dev/42137791) 和 Pixelbook 等核心啟動程式系統上,支援 Gigaboot 啟動載入程式中的 fastboot boot

既有技術與參考資料

Fastboot 是成熟的機制,目前已在 Android 裝置中使用。