聊一聊龙蜥硬件兼容性 SIG 那些事儿 | 龙蜥 SIG
编者按:龙蜥社区硬件兼容性 SIG 主要做什么?硬件设备与龙蜥操作系统各个发行版的兼容性如何?该如何评估等?带着这些疑问,我们来听作者聊一聊硬件兼容性 SIG 。本文整理自龙蜥大讲堂技术直播第12期,由龙蜥社区硬件兼容性 SIG 核心成员、阿里云测试开发专家吴朝峰分享《如何测试硬件设备与龙蜥操作系统的兼容性?》。
硬件生态是一个操作系统的重要基石。但是市面上的硬件设备种类众多,针对个人电脑(如果小伙伴们是硬件设备发烧友或者去中关村攒过电脑主机),大家肯定知道各种厂商的主板、内存、显卡等,尤其各种 USB 外设,例如鼠标、键盘等,生产厂商更是数不胜数。
对于服务器类型来说也一样,各种各样的服务器类型和板卡外设。这些硬件设备与龙蜥操作系统各个发行版的兼容性如何?如何评估?龙蜥操作系统(Anolis OS)潜在用户如何查询自己的硬件设备与龙蜥操作系统某个版本的兼容性?IHVs、硬件设备集成商等发布的新硬件设备如何确保与龙蜥操作系统不同发行版本的兼容性?
今天就和大家聊一聊龙蜥社区硬件兼容性 SIG 组的主要工作,包括龙蜥社区硬件兼容性列表、硬件兼容性申请流程以及硬件兼容性测试测试套件 ancert 等。小伙伴们可以了解到龙蜥社区硬件兼容性申请、验证、发布的流程和硬件兼容性测试套件 ancert 的基本用法等。
硬件兼容性 SIG 主要做什么?
这里先简单介绍一下龙蜥社区硬件兼容性 SIG 组。硬件兼容性 SIG 是龙蜥社区最早成立的一批 SIG 之一,主要工作是致力于检测 X86、Arm、LoongArch 等多种架构下,各个硬件厂商或系统集成商的整机服务器和不同板卡外设与龙蜥操作系统的兼容性验证工作,并且推动龙蜥社区发行版在各种新硬件设备上的适配工作。
硬件兼容性 SIG 旨在推动龙蜥社区和各个硬件厂商的合作,围绕龙蜥操作系统建立完善硬件生态。SIG 的主要活动包括:
- 发布并持续更新龙蜥操作系统硬件兼容性列表。
- 打造、发布和维护龙蜥操作系统硬件兼容性测试套件 ancert。
- 构建龙蜥社区硬件兼容性流程体系,包括:验证标准、申请流程、硬件测试、结果验证、列表发布等流程。
如何发布硬件信息到硬件兼容性列表?目前龙蜥社区已经建立了完备的硬件兼容性测试申请流程,如果个人或者厂商希望将自己的硬件设备发布到龙蜥硬件兼容性列表上,可以按照以下 8 个步骤提交硬件信息到龙蜥社区:
1.注册帐号并登录龙蜥社区官网
2.在硬件兼容性网页提交测试申请
3.准备好待测试硬件设备,按需安装相应 Anolis OS 版本
4.下载并安装硬件兼容性测试套件 ancert
5.对待测硬件设备执行测试
6.上传日志结果到社区申请记录,等待社区审核
7.龙蜥社区硬件兼容性 SIG 成员审核测试结果
8.审核通过后发布硬件信息到硬件兼容性列表
(图/发布硬件兼容性信息流程图)
硬件兼容性列表内容是什么?
龙蜥社区已经发布了硬件兼容性列表(链接地址见文末),目前已经覆盖整机及板卡设备记录大几百种,覆盖机型包括服务器、工作站、一体机、笔记本、台式机等,覆盖架构包括 X86、Arm、LoongArch,基本已经覆盖了国内外主流的整机或板卡设备硬件厂商。
同时硬件兼容性列表提供了方便的查询功能,小伙伴们可以在硬件兼容性列表主页上方便快捷的查询自己的机型或者硬件设备是否已经通过龙蜥操作系统硬件兼容性验证。
(图/板卡硬件兼容性列表)
(图/整机硬件兼容性列表)
硬件兼容性列表的条目里记录了设备名称、设备厂商名、操作系统版本、内核版本等重要信息。需要采购新硬件设备的厂商或者小伙伴们,可以提前查询硬件兼容性列表,获取相关设备与龙蜥操作系统某个版本的硬件兼容性情况。
如何验证硬件设备与龙蜥操作系统的兼容性?
那么如何验证相关硬件设备与龙蜥操作系统的兼容性呢?我们设计和开发了硬件兼容性测试套件--ancert。硬件厂商或者小伙伴们只需要下载并安装这个工具,运行相关测试即可验证自己的硬件与龙蜥操作系统的硬件兼容性,并可以发布硬件设备信息到龙蜥社区硬件兼容性列表上。
下面我们就简要介绍一下 ancert 的架构、使用方法和一些注意事项。
ancert 架构
ancert 总体分三大部分:
1.硬件探测部分:主要是构建设备树、探测、识别和分类整机硬件设备。
2.测试用例部分:包含相关的硬件设备的测试用例及测试用例的元数据。
3.测试调度部分:测试用例的执行、并发执行、日志的收集。
目前 ancert 已经支持 CPU、内存、网络、存储、FC、NVMe 等硬件兼容性测试,后续新的硬件类型的支持正在开发中。
搭建测试环境
根据硬件类别,按需准备测试环境。硬件兼容性测试机有两种模式:
1. SUT(Server Under Test):即被测机器,包含要进行验证的的硬件设备。
2.LTS(Local Test Server):是测试辅助机,主要用于网络硬件设备场景的辅助测试。
硬件兼容性测试类别分为整机测试和板卡测试,通过 ancert -g [category] 可以指定测试类别。整机测试包含 CPU、内存、存储和网卡测试。
如果是网络测试或者整机测试,则测试之前需要准备两台装有龙蜥操作系统的测试机:被测机 SUT 和测试辅助机 LTS,连接方式支持一对多。针对网络设备或者整机测试,推荐在 DHCP IP 的网络环境环境下进行测试。
(图/ancert 基本用法)
在 SUT 上安装 ancert 之后,可以通过 ancert 命令查询被测硬件设备是否已经被龙蜥操作系统正确识别,命令 ancert --list_hardware All 可以列出 SUT 上所有硬件设备。
图中[-]的意思是整机测试默认选择的设备,[1]为可选的设备的序号,可以通过--index [index] 选项选择相关的设备进行测试,[*]表示不可用于当前的测试,例如网络设备测试中网卡没有插网线,或者存储设备测试中被测存储控制器下没有空闲的磁盘等。
同理,--list_hardware [category] 可以列出当前类别下的所有硬件设备。如果相关设备没有被正确显示或者没有驱动,则设备的兼容性可能存在问题,这时需要发 BUG 到龙蜥社区或者在龙蜥硬件兼容性 SIG 群里(文末钉钉扫描二维码或搜索群号:41484363入群)寻求支持。
ancert -g [category]可以执行相关测试,例如下图对 Mellanox CX4 网卡进行硬件兼容性测试:
如果测试用例全部通过,即可将测试结果 tar 包按步骤提交到龙蜥社区,龙蜥社区硬件硬件兼容性 SIG 组成员验证通过之后硬件信息就可以发布到硬件兼容性列表上啦。
这里只是简要介绍了一下 ancert 用法和注意事项,详细使用方法、安装、测试步骤、和注意事项,请小伙伴们移步 ancert 用户手册阅读(链接地址见文末)。
ancert 开源
ancert 已经在 Gitee 上开源,欢迎小伙伴们参与贡献。有兴趣的小伙伴请查阅 ancert 开发者手册(链接地址见文末)。
欢迎加入硬件兼容性 SIG
以上关于龙蜥社区硬件兼容性 SIG 相关工作内容就介绍到这里。关于硬件兼容性 SIG 的更多详情信息还请移步至龙蜥官网查看(阅读原文直达)。如果在硬件兼容性测试过程中遇到了任何问题或者想了解更多龙蜥硬件兼容性的信息,都可入群沟通交流。欢迎对硬件兼容性验证感兴趣的小伙伴加入龙蜥硬件兼容性 SIG 一起探讨,一起成长。
相关地址:
【1】ancert 开源地址:
https://gitee.com/anolis/ancert
【2】硬件兼容性列表地址:
https://eco.openanolis.cn/#/compat/hardware/list
【3】ancert 用户手册链接:
https://openanolis.cn/sig/HCT/doc/515376959301157021
【4】ancert 开发者手册链接:
https://openanolis.cn/sig/HCT/doc/452341550237450246