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 通訊協定。
實作
- 需要更新引導程式,例如,需要修改 Gigaboot 才能實作
fastboot boot
https://fxbug.dev/42137791。 - 您需要更新 fx 指令碼,將
fx netboot
使用者重新導向至fastboot boot
(我們可能會在 fx/ffx 輔助指令中包裝這些流程,盡可能簡化操作)。 - 基礎架構需要轉換為快速啟動 https://fxbug.dev/42124288。
- 根據 RFC Deprecate Zedboot-based paving for provisioning devices 淘汰 Zedboot。
回溯相容性
更新 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 裝置中使用。