建構設定

建構設定會結合產品開發板 (GN 包含的項目),為 Fuchsia 建構作業提供基準設定。

GN 建構設定應包含一個主機板 GNI 檔案和一個產品 GNI 檔案。在 fx 中,這對檔案是 fx set 指令的主要引數。

在 Fuchsia GN 建構設定中,主機板一律會先納入。主機板會開始定義三個依附元件清單,然後由匯入的產品擴增 (稍後可選擇納入 GN)。這些清單分別是「Base」、「Cache」和「Universe」,定義如下。

登機時間

定義建構作業產生的架構,以及建構作業預計執行的裝置主要功能。這項設定會影響包含的驅動程式,也可能影響裝置專屬的 Kernel 參數。

您可以使用 fx list-boards 列出可用的開發板。

產品

產品會定義建構作業產生的軟體設定。最重要的是,產品通常會定義提供的使用者體驗類型,例如使用者可能會看到的圖形殼層類型、是否包含多媒體支援等。

您可以使用 fx list-products 列出可用的產品。

依附元件集

主機板會定義三份依附元件清單 (Base、Cache 和 Universe),產品則會擴增這些清單。這些依附元件是 GN 標籤,最終會將套件提供給各種系統構件,例如磁碟映像檔和簽署的套件中繼資料,以及各種開發構件,例如主機工具和測試。

Base

base 依附元件清單會將套件提供給磁碟映像檔、系統更新和套件存放區。base 依附元件集包含的套件優先於 cache 依附元件集中的重複成員資格。系統設定中的基礎套件視為系統和安全性的重要項目。這些資源會以原子單元的形式更新,且無論資源壓力為何,都不會在執行階段遭到逐出。

快取

cache 依附元件清單會提供預先快取在建構作業磁碟映像檔構件中的套件,也會在套件存放區中提供這些套件。這些套件不會新增至系統更新,而是會暫時更新。系統也會根據執行階段資源需求,從執行中的系統中逐出快取的套件,以釋放資源。

宇宙

universe 依附元件清單只會將套件提供給套件存放區。這些套件可用於執行階段快取和更新,但不會出現在系統更新映像檔中,也不會預先快取在任何磁碟映像檔中。basecache 的所有成員本質上也是 universe 的成員。

主要產品設定

產品定義不只下列幾種,但您特別需要熟悉以下四種產品的設定:

Bringup

bringup 產品是開發的最低可行目標。由於缺少大部分的網路功能,bringup 產品無法使用需要網路連線的 fx 指令,例如 fx servefx shell

詳情請參閱「Bringup 產品定義

Core

core 是最基本的特徵集,可安裝其他軟體 (例如新增至「universe」依附元件集的項目)。這是所有較高層級產品設定的起點,具備常見的網路功能,可透過無線方式更新系統。

極簡

RFC-0220 所述,Minimal 的目標是「可稱為 Fuchsia 的最小事物」。從定義上來說,這類系統可以:

  • 啟動使用者空間。
  • 執行元件管理服務和元件。
  • 透過 Fuchsia 的無線更新系統自行更新。(這表示儲存空間和網路運作正常,且主機板提供驅動程式)。

Workbench

Workbench 是用於本機開發的產品設定,可執行無法或不應以密封方式封裝的較大型測試,並運用比最低支援項目更大的 Fuchsia 平台部分。Workbench 的用途就像實體工作台,可支援開發工具,並讓開發人員探查系統及進行變更。Workbench 並非要提供給使用者的產品,也不是這類產品的基礎。