「Products」(產品) 和「Boards」(Board) 是 GN,其中含有可用於提供 Fuuchsia 建構基準設定的 GN。
GN 建構設定應只包含一個主機板 GNI 檔案和一個產品的 GNI 檔案。在 fx 中,這一組組合是 fx set
指令的主要引數。
在 Fuchsia GN 建構設定中,系統一律會先納入主面板。主面板會開始定義三個依附元件清單,然後由匯入的產品擴增 (之後還會納入選用的 GN)。這些清單分別為 Base、Cache 和 Universe,定義如下。
登機時間
這項設定會影響內含的驅動程式,同時也可能會影響裝置專用的核心參數。
您可以使用 fx list-boards
列出可用的主面板。
產品
產品會定義建構作業將產生的軟體設定。最重要的是,產品通常會定義系統提供的使用者體驗類型,例如使用者可能看到的圖形殼層類型、是否提供多媒體支援等。
您可以使用 fx list-products
刊登現貨的產品。
依附元件集
主面板會定義,而產品則擴增三種依附元件清單:「Base」、「Cache」和「Universe」。這些依附元件是 GN 標籤,最終會將套件提供給各種系統構件,例如磁碟映像檔和已簽署的套件中繼資料,以及主機工具和測試等各種開發構件。
Base
base
依附元件清單會為磁碟映像檔、系統更新和套件存放區提供套件。base
依附元件集包含的套件優先於 cache
依附元件集中的重複成員資格。系統會將系統設定中的基礎套件視為系統和安全性關鍵套件。這些元件會更新為不可部分完成的裝置,而且無論資源壓力多寡,都一律不會在執行階段遭到撤銷。
快取
cache
依附元件清單提供了在建構作業磁碟映像檔構件中預先快取的套件,也會在套件存放區中提供。這些套件不會新增至系統更新,而是暫時更新。快取套件也可以從執行系統中移除,以便依據執行階段資源需求釋放資源。
宇宙
universe
依附元件清單只會為套件存放區提供套件。這些套件將可供執行階段快取和更新使用,但無法在系統更新映像檔中找到,也不會在任何磁碟映像檔中預先快取。base
和 cache
的所有成員原本也是 universe
的成員。
主要產品設定
產品定義比下方列出的產品更多,但以下四個產品特別重要,需要熟悉:
網站式
bringup
產品是最小可行的開發目標。由於 bringup
缺少大多數網路功能,產品無法使用需要網路連線的 fx
指令,例如 fx serve
和 fx shell
。
詳情請參閱匯入產品定義
Core
core
是最小的功能集,可安裝其他軟體 (例如新增至「宇宙」依附元件集的項目)。這是所有層級產品設定的起點。它具有共同的網路功能,且可無線更新系統。
極簡
如 RFC-0220 所述,Minimal 為「Fuksia 最小可稱的最小項目」。定義來說,這個系統可以:
- 啟動進入使用者空間。
- 執行元件管理員和元件。
- 使用 Fuchsia 的無線更新系統自行更新。(這表示儲存空間和網路可正常運作,並由主機板提供的驅動程式)。
工作台
Workbench 是本機開發的產品設定,可執行無法或不應該以草皮方式封裝的大型測試,並執行比最低支援能力更大的 Fuchsia 平台。它就像一個文字工作台,可支援開發工具,並可讓開發人員叫用系統並進行變更。並不能將產品當做運送給使用者,或當做產品的基礎。