bringup 產品是開發的最低可行目標。這項產品的重點在於簡單和精簡,因此功能集非常少。
請注意,名稱 bringup build 不應表示「僅在啟動新平台時使用」,這個名稱是沿用舊名。
啟動產品至少有下列用途:
- 啟動:新平台尚未執行 Fuchsia (
core產品設定或更高版本),因為執行所需的所有元件尚未完成/運作可靠,例如網路、儲存空間或 fx 裝置探索和套件管理所需的設定。 - 核心和低階驅動程式庫開發:開發需要運作的設施,甚至嘗試使用
core產品,都需要啟動建構作業。這適用於核心開發和驅動程式,例如core中所需的網路和儲存空間。請注意,如果核心所需的驅動程式尚未準備就緒,音訊等較高層級的驅動程式也能從啟動建構版本獲益。
啟動建構版本具有下列基本功能:
- 已啟用序列輸出:這包括來自驅動程式的偵錯記錄 (例如透過 zxlogf)。這項保證必須確保開發人員在推出新平台時,能夠視需要進行 printf 偵錯。
- RAM 是否可載入:必須能將啟動建構作業載入 RAM,載入順序如下:
- 對於支援「fastboot boot」的平台,必須能夠直接從系統啟動載入程式實作 ZBI 的 RAM 開機 (例如使用 bootshim 機制)。
- 如果平台不支援「fastboot boot」,則必須能使用現有的 zedboot (例如載入可開機的 USB 隨身碟或先前刷入的 zedboot),透過 netsvc (用於網路開機) 或 overnet (例如透過序列埠) 等機制開機。
- 對於不支援「Fastboot 啟動」的平台 (例如無法控制系統啟動載入程式時),也必須能夠直接從系統啟動載入程式實作 ZBI 的 RAM 啟動 (例如為特定系統啟動載入程式建立 bootshim)。
- 不依附於早期啟動時無法使用的驅動程式: 早期啟動時可用的驅動程式包括中斷控制器和序列埠。早期啟動時無法使用的驅動程式包括網路和儲存空間。
- 對 Fuchsia 整體而言,依附元件最少,因為:
- 透過序列連結驅動工作流程。
- 允許載入建構作業所需的一切項目,以及核心 (即啟動檔案系統)。
- 不依賴需要儲存空間的 Fuchsia 功能,例如鋪路。
- 不支援 fx serve 和 fx shell 等 fx 指令。因此,啟動建構作業無法在執行階段新增軟體或自行升級。
- 可輕鬆納入其他驅動程式或二進位檔:必須能夠在啟動建構中納入其他二進位檔和驅動程式。舉例來說,透過 GN 納入啟動檔案系統,將開發中的驅動程式庫新增至建構。
請注意,這些功能不會阻止將啟動建構的最低設定擴展至其他更完整的設定,進而改善工作流程。