RFC-0130:支援的硬體 | |
---|---|
狀態 | 已接受 |
區域 |
|
說明 | Fuchsia 專案支援的硬體清單。 |
Gerrit 變更 | |
作者 | |
審查人員 | |
提交日期 (年-月-日) | 2021-08-24 |
審查日期 (年-月-日) | 2021-09-28 |
摘要
這份 RFC 列出目前在 Fuchsia 專案支援的類別中,目前支援的硬體。「支援的類別」定義於 RFC-0111:Fuchsia 初始硬體平台規格。
提振精神
Fuchsia 專案需要在「支援的類別」中提供官方硬體清單,以確保:
- 提供特定程度的支援,例如由 Fuchsia 專案進行測試。
- 您可以參考「支援的類別」一節,瞭解「支援的設定」中的具體設定。
相關人員
導師:cpu。
審查者:nicoh (基礎架構)、nmulcahey (基礎架構)、smithdave (開發人員關係)、nickvander (開發人員關係) 和 curtisgalloway (驅動程式)。
社群化:這份 RFC 草稿已傳送至 Infra 和 TQ-Drivers 的郵寄清單。
設計
由於 Fuchsia 專案已在 RFC-0111:Fuchsia 初始硬體平台規格中定義支援的類別,我們現在可以在集中式資料庫中列出這類硬體。與其將個別硬體區塊列入「支援的類別」,不如讓 Fuchsia 專案提供 RFC-0111:初始 Fuchsia 硬體平台規格 所定義的支援服務,並為特定硬體組合 (以下稱為「系統設定」) 建立清單 (以下稱為「中央資料庫」)。系統設定中的個別硬體區塊,只有在該設定的情況下才會列入「支援的類別」。
本文僅參照樹狀結構頂端的 Fuchsia 存放區 (最新可用的修訂版本),也就是「支援類別」中的硬體,並由 Fuchsia 專案代管。
支援的類別中硬體的驅動程式由 Fuchsia 專案代管。這些驅動程式會在 Fuchsia 持續整合的過程中進行測試,外部貢獻者可以查看測試結果。
在 Fuchsia 中,系統設定是由板卡驅動程式定義。板卡驅動程式會啟動及設定所有其他驅動程式。板卡驅動程式可以定義多個系統設定,例如 x64 板卡驅動程式庫會透過 ACPI (進階設定和電源介面) 定義多個 PC 系統設定。為了完整定義系統設定,中央資料庫會列出主機板驅動程式庫,並提供設定詳細說明,例如選用硬體模組,讓您清楚瞭解 Fuchsia 持續整合作業中正在測試的項目。
中央資料庫中列出的系統設定不包含任何 USB 裝置等通用外部周邊裝置,而是列出已整合至 Fuchsia 專案的特定系統的硬體區塊。
中央資料庫不會阻止未來的措施,例如硬體認證實驗室、硬體自認證、硬體相容性測試等。
中央資料庫會是 /docs/reference/hardware
中的 YAML 檔案。使用 YAML 可輕鬆處理這類資料,並以易於瀏覽的格式呈現,類似於 Fuchsia 硬體驅動程式中列出個別驅動程式的格式。
如要在這個 YAML 檔案中新增項目,並在「支援的類別」中新增硬體,請建立新的 RFC。這符合 RFC-0111 對新 RFC 的要求,可將任何新硬體新增至 Fuchsia 專案的支援類別。
實作
支援的類別中系統設定的清單會保留在 /docs/reference/hardware/_supported_sys_config.yaml
中。該 YAML 檔案中的項目會包含:
- name:提供名稱或型號。
- description:提供系統設定的詳細資料,並提供足夠的說明,以便完整定義 Fuchsia 專案正在測試的確切系統。
- 架構:例如 ARM、x86 或 RISC-V (選用)。
- RAM:RAM 的數量和類型 (選填)。
- storage:儲存空間大小和類型 (選填)。
- manufacturer_link:製造商連結,選用。
- board_driver_location:定義此板卡設定的板卡驅動程式庫位置。顯示存放區和該存放區內路徑的網址。
系統會透過存放區和存放區內的路徑,來識別 Jamboard 驅動程式。
系統設定的碑文
對於從中央資料庫移除的系統設定,/docs/reference/hardware/_supported_sys_config_epitaphs.yaml
檔案會列出從「支援的類別」移除的所有系統設定。這個檔案會包含 /docs/reference/hardware/_supported_sys_config.yaml
中的相同 YAML 項目,以及:
gerrit_change_id
:Gerrit 變更 ID,用於從 _supported_sys_config.yaml 刪除系統設定,進而從支援的類別刪除。available_in_git
:最後已知的 git SHA,仍包含系統設定 _supported_sys_config.yaml,因此屬於「支援」類別。
初始 _supported_sys_config.yaml 清單
- name: 'VIM3'
description: 'Board computer based on a Amlogic A311D SoC'
Architecture: 'ARM'
RAM: '2GB+ DDR4'
storage: '16GB+ eMMC5.1'
manufacturer_link: ‘https://www.khadas.com/vim3'
board_driver_location: https://fuchsia.googlesource.com/fuchsia/+/refs/heads/main/src/devices/board/drivers/vim3'
- name: 'NUC7i5DNHE'
description: 'Intel NUC based on 7th Gen i5'
Architecture: 'x86'
RAM: '4GB+ DDR4'
storage: 'Samsung 860 EVO SSD 250GB'
manufacturer_link: ‘https://www.intel.com/content/www/us/en/products/sku/122488/intel-nuc-kit-nuc7i5dnhe/specifications.html'
board_driver_location: 'https://fuchsia.googlesource.com/fuchsia/+/refs/heads/main/src/devices/board/drivers/x86'
- name: 'NUC11TNHi5'
description: 'Intel NUC based on 11th Gen i5'
Architecture: 'x86'
RAM: '4GB+ DDR4'
storage: '128GB NVMe PCIe M.2 SSD'
manufacturer_link: 'https://www.intel.com/content/www/us/en/products/sku/205594/intel-nuc-11-pro-kit-nuc11tnhi5/specifications.html'
board_driver_location: 'https://fuchsia.googlesource.com/fuchsia/+/refs/heads/main/src/devices/board/drivers/x86'
- name: 'Astro'
description: 'Based on the AMLogic S509D2G SoC, a complete system used for IoT applications'
Architecture: 'ARM'
board_driver_location: 'https://fuchsia.googlesource.com/fuchsia/+/refs/heads/main/src/devices/board/drivers/astro'
還原
任何變更都不得破壞「支援的類別」中的硬體,因此即使 CL 在通過持續整合測試後確實會破壞任何這類硬體,Fuchsia 團隊的任何成員 (例如建構園丁) 也可能會將其還原。
回溯相容性
初始清單會列出「支援的類別」中已列入的系統設定。如上所述,這份清單包含 VIM3、特定 NUC 和 Astro。
說明文件
我們會建立一個 fuchsia.dev 頁面,類似於 fuchsia.dev/fuchsia-src/reference/hardware/supported 中的 fuchsia.dev/fuchsia-src/reference/hardware/drivers。其他在「支援的類別」中指定硬體的頁面會指向這個新頁面,例如「在 NUC 上安裝 Fuchsia」會更新為指向這個新頁面。