RFC-0130:支援的硬體

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」會更新為指向這個新頁面。