RFC-0130:支持的硬件

RFC-0130:支持的硬件
状态已接受
领域
  • 治理
说明

Fuchsia 项目支持的硬件列表。

Gerrit 更改
作者
审核人
提交日期(年-月-日)2021-08-24
审核日期(年-月-日)2021-09-28

摘要

此 RFC 中列出了 Fuchsia 项目的支持的 类别支持的类别RFC-0111: Initial Fuchsia 中进行了定义 硬件平台规范

设计初衷

Fuchsia 项目必须在 支持的类别,以确保:

  • 提供特定级别的支持,例如测试都由 Fuchsia 完成, 项目。
  • 对于 支持的类别

利益相关方

教员:CPU。

审核者:nicoh (Infra)、nmulcahey (Infra)、smithdave(开发者关系)、 nickvander(开发者关系)和 curtisgalloway(驱动程序)。

社交化:此 RFC 的草稿已发送给基础架构和 TQ 驱动程序 邮寄名单。

设计

现在,Fucsia 项目已在 RFC-0111:初始 Fuchsia 硬件平台规范,我们可以 并将此类硬件列入中央数据库。不要只列出单个 属于 Supported 类别的硬件块,则 Fuchsia 项目将 提供RFC-0111:初始 Fuchsia 硬件平台所定义的支持 规范并创建一个列表(从现在开始称为 “central database”下使用(在本文中, “系统配置”)。系统中的各个硬件块 只有在以下情况下才会将配置归入支持的类别中: 配置。

本文档仅介绍了位于树顶的 Fuchsia 仓库(最新 (提供修订版本),即属于支持的类别并由 Google 托管的硬件 Fuchsia 项目的一个 API。

受支持类别的硬件驱动程序由 Fuchsia 托管 项目。这些驱动程序作为 Fuchsia 持续集成的一部分进行测试, 外部贡献者可以看到测试结果。

在 Fuchsia 中,系统配置由板驱动程序定义。板驱动程序 启动并配置所有其他驱动程序。板级驱动程序可以定义多个系统 配置,例如 x64 板级驱动程序定义了多 PC 系统 通过 ACPI(高级配置与电源接口)进行的配置。完整 定义系统配置,中央数据库将列出板驱动程序 以及提供有关配置详情的说明(例如 硬件模块,从而清晰地说明在 Fuchsia 连续 集成。

中央数据库中列出的系统配置不包含通用配置 与任何 USB 设备一样,但需要列出硬件块 集成到由 Fuchsia 项目测试的非常具体的系统中。

中央数据库不会妨碍未来计划,例如硬件 认证实验室、硬件自行认证、硬件一致性测试、 等等

中央数据库将是 /docs/reference/hardware 中的 YAML 文件。YAML 可轻松处理这些数据,并以易于浏览的格式呈现 与在 Fuchsia 硬件中列出单个驱动程序的类似 驱动程序

向此 YAML 文件添加新条目,进而添加新条目 受支持类别的硬件)是创建新的 RFC。这是 符合 RFC-0111 要求,以便拥有任何新的 硬件添加到 Fuchsia 项目支持的类别中。

实现

支持的类别下的系统配置列表将显示为 维持在 /docs/reference/hardware/_supported_sys_config.yaml。参赛作品 将包括:

  • name:提供名称或模型。
  • 说明:提供有关系统配置的详细信息, 用于完整定义测试对象的确切系统, Fuchsia 项目的定义。
  • 架构:例如 ARM、x86 或 RISC-V,可选。
  • RAM:RAM 的数量和类型,可选。
  • storage:存储量和类型,可选。
  • Manufacturer_link:指向制造商的链接(可选)。
  • board_driver_location:定义此字段的板驱动程序的位置 主板配置显示代码库和其中的路径的网址 存储库

板级驱动程序由其存储库和其中的路径唯一标识 存储库

系统配置简介

对于从中央数据库中移除的系统配置, /docs/reference/hardware/_supported_sys_config_epitaphs.yaml 个文件将列出 所有系统配置已从支持的类别中移除。此文件将 将相同的 YAML 条目 /docs/reference/hardware/_supported_sys_config.yaml,外加:

  • gerrit_change_id:用于删除系统的 Gerrit 更改的 ID 从 _supported_sys_config.yaml 中移除,然后从 Supported 类别
  • available_in_git:最后已知的 git SHA(仍包含系统) 配置 _supported_sys_config.yaml,然后在 Supported 类别

初始 _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 团队的任何成员都可以还原测试,例如 build 那就是园艺师

向后兼容性

初始列表中将包含 支持的类别。如上方所列,此列表包含 VIM3、特定 NUC、 和天文摄影。

文档

我们将创建一个类似 fuchsia.dev 的 fuchsia.dev 网页, fuchsia.dev/fuchsia-src/reference/hardware/drivers 位于 fuchsia.dev/fuchsia-src/reference/hardware/supported 中。存在以下情况的其他网页: 受支持的类别中指定的硬件将会指向这个新页面, 实例 在 NUC 上安装 Fuchsia 将更新为指向这个新页面。