RFC-0130:支援的硬體 | |
---|---|
狀態 | 已接受 |
區域 |
|
說明 | Fuchsia 專案支援的硬體清單。 |
變更 | |
作者 | |
審查人員 | |
提交日期 (年/月) | 2021-08-24 |
審查日期 (年/月) | 2021-09-28 |
摘要
此 RFC 會列出 Fuchsia 專案支援類別目前中的硬體。支援的類別定義請參閱 RFC-0111:初始 Fuchsia 硬體平台規格中。
提振精神
Fuchsia 專案需要有支援類別的官方硬體清單,才能確保:
- 會提供一定層級的支援,例如測試是由 Fuchsia 專案執行。
- 支援的類別有哪些特定設定可可靠。
相關人員
講師:CPU。
審查者:nicoh (Infra)、nmulcahey (Infra)、Ssmithdave (開發人員關係)、Nickvander (開發人員關係) 和 curtisgalloway (駕駛人)。
社交功能:這個 RFC 的草稿已傳送至基礎架構和 TQ-Drivers 的郵寄清單。
設計
既然 Fuchsia 專案在 RFC-0111: Initial Fuchsia 硬體平台規格中定義支援的類別,現在我們可以在中央資料庫中列出這類硬體。比起列出支援類別中的個別硬體區塊,Fuchsia 專案將依據 RFC-0111:初始 Fuchsia 硬體平台規格定義的支援,並針對特定硬體組合 (從此處稱為「中央資料庫」) 為特定硬體組合建立清單 (從此處稱為「系統設定」)。系統設定中的個別硬體區塊只會在此類設定結構定義中提供「支援的類別」。
本文件僅提及 Tree Top of Tree (提供最新修訂版本) 的 Fuchsia 存放區 (最新修訂版本),即支援類別中的硬體,且由 Fuchsia 專案託管。
支援類別中硬體的驅動程式是由 Fuchsia 專案代管。這些驅動程式已做為 Fuchsia 持續整合的一部分進行測試,外部協作者可以看到測試結果。
Fuchsia 中的系統設定是由主機驅動程式定義。電路板驅動程式會啟動並設定所有其他驅動程式。主機板驅動程式可以定義多個系統設定,例如 x64 主機板驅動程式庫會透過 ACPI (進階設定和電源介面) 定義多個電腦系統設定。為了完整定義系統設定,中央資料庫會列出主機板驅動程式庫和說明,其中包含選用硬體模組等設定的詳細資料,明確指出在 Fuchsia 持續整合中測試的項目。
中央資料庫中列出的系統設定並不包括一般外部周邊裝置 (如任何 USB 裝置),而是列出整合到特定系統,且經過 Fuchsia 專案測試的硬體區塊。
中央資料庫不會預防日後的硬體認證研究室、硬體自我認證、硬體一致性測試等計畫。
中央資料庫會是 /docs/reference/hardware
中的 YAML 檔案。YAML 可讓您輕鬆處理這項資料,並以易於瀏覽的格式呈現,格式類似於列出 Fuchsia 硬體驅動程式的個別驅動程式。
在此 YAML 檔案中新增項目以及因此在支援類別中新增硬體的程序,是建立新的 RFC。這種做法符合新 RFC 的 RFC-0111 規定,才能將任何新的硬體加入 Fuchsia 專案的支援類別。
實作
支援類別中的系統設定清單將於 /docs/reference/hardware/_supported_sys_config.yaml
進行維護。該 YAML 檔案中的項目包括:
- name:提供名稱或模型。
- 說明:提供系統設定的相關詳細資料,並提供充分的說明,以便完整定義要在 Fuchsia 專案中測試的確切系統。
- 架構:如為 ARM、x86 或 RISC-V 執行個體,則可視需要選用。
- RAM:RAM 的數量和類型 (可選擇)。
- Storage:儲存空間的數量和類型 (選填)。
- Manufacturer_link [製造商連結]:製造商連結 (選填)。
- board_driver_location:定義這個主面板設定的主機驅動程式庫的位置。顯示該存放區中存放區和路徑的網址。
主面板驅動程式以其存放區和存放區中的路徑識別。
系統設定說明文件
對於從中央資料庫移除的系統設定,/docs/reference/hardware/_supported_sys_config_epitaphs.yaml
檔案會列出從支援類別中移除的所有系統設定。這個檔案會在 /docs/reference/hardware/_supported_sys_config.yaml
中納入相同的 YAML 項目,外加:
gerrit_change_id
:用於從 _supported_sys_config.yaml 刪除系統設定的 Gerrit 變更 ID,因此屬於支援的類別。available_in_git
:最後一個已知的 git SHA,該 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'
還原
任何變更均不得破壞支援類別中的硬體,因此即使通過持續整合測試,Fuchsia 團隊的成員仍可還原這些硬體的所有故障 (例如執行個體建構工具)。
回溯相容性
初始清單會包含支援類別中的系統設定。如上方清單所述,包含 VIM3、特定的 NUC 和 Astro。
說明文件
我們會在 fuchsia.dev/fuchsia-src/reference/hardware/supported 中建立 fuchsia.dev 頁面,類似 fuchsia.dev/fuchsia-src/reference/hardware/drivers。在「支援類別」中指定硬體的其他頁面會指向這個新頁面。例如,在 NUC 上安裝 Fuchsia 並指向這個新頁面。