图文详解!带你认识 ancert:硬件兼容性标准实现工具!| 龙蜥技术

news2024/11/24 1:36:49

编者按:大家都知道 OS 其实是硬件设备资源利用的抽象,所以 OS 和各个硬件设备之间是否兼容,对 OS 的稳定性是非常关键。今天,龙蜥社区硬件兼容性 SIG  Maintainer 吴朝峰为大家介绍龙蜥社区硬件兼容性认证的步骤和流程,以及硬件兼容性认证工具 ancert 的使用方法和步骤等。本文整理自龙蜥大讲堂 91 期,以下为本次分享内容: 

图片

01  硬件兼容性 SIG 介绍

图片

硬件兼容性 SIG (Special Interest Group)致力于龙蜥硬件兼容性验证,包括龙蜥操作系统和不同服务器或者板卡外设之间兼容性的验证工作等,并推动龙蜥社区发行版在各种新硬件设备上的适配,围绕 Anolis OS 建立完善硬件生态。

大家都知道 OS 其实是硬件设备资源利用的抽象,所以 OS 和各个硬件设备之间是否兼容,对 OS 的稳定性是非常关键。目前,硬件兼容性验证应用场景主要包括:

  • 硬件种类众多,各种服务器类型和硬件版卡外设,这些硬件设备与 Anolis OS 各个发行版的兼容性如何?如何评估?

  • Anolis OS 潜在用户如何查询自己的硬件设备与 Anolis OS 的兼容性。

  • IHVs,硬件设备集成商等发布的新硬件设备如何确保与 Anolis OS 不同发行版的兼容性。

硬件兼容性 SIG 主要目标:

  • 发布 Anolis OS 硬件兼容性列表并持续更新。

  • 打造、发布和维护 Anolis OS 硬件兼容性测试套件 ancert。

  • 构建龙蜥社区硬件兼容性流程体系,包括验证标准,申请流程,硬件测试,结果验证,列表发布等流程。

因为硬件兼容性测试面对的是广大社区用户和硬件厂商,所以在 SIG 文档建设方面做了很多相关的工作:

  • 《ancert 2.0 硬件兼容性测试套件用户手册》

  • 《ancert 2.0 硬件兼容性测试套件快速开始手册》

  • 《ancert 2.0 硬件兼容性开发者用例集成文档》

  • 《硬件兼容性测试规范》

  • 《硬件兼容性标准 v1 》

  • 《硬件兼容性测试用户申请指导书》

02  硬件兼容性测试申请流程

图片

Anolis OS 硬件兼容性测试申请步骤如下:

  • 注册登录龙蜥社区帐号。

  • 硬件兼容性网页提交测试申请。

  • 准备好待测试硬件环境,安装相应 Anolis OS 版本。

  • 下载并安装硬件兼容性测试套件 ancert。

  • 对待测硬件设备执行测试。

  • 上传日志结果到社区申请记录,等待社区审核。

  • 龙蜥社区硬件兼容性项目成员审核测试结果。

  • 审核通过后发布硬件信息到龙蜥社区硬件兼容性列表上。

图片

在这里,申请人提交完结果日志文件后会有一个状态的变更,状态会变成等待审核。如果在审核过程中发现有问题或者漏测了,可以取消申请。若是审核不通过,用户看到的状态就是审核失败,审核失败可以重新上传日志,再进行审核。当然在审核失败后,我们会通过邮箱或者钉钉和申请人取得联系,做进一步沟通。

若提交的内容都没问题,审核通过之后,相关的硬件设备信息会立刻发布到龙蜥社区硬件兼容性列表上,您可以通过提交的入口查询到相应的信息条目。

03  硬件兼容性测试规范和标准

龙蜥社区硬件兼容性测试规范如下:

  • 按需选择相应 Anolis OS 主版本,推荐选择最新发行的小版本。

  • 相同型号整机,推荐使用最大配置进行兼容性测试,例如内存配置到最大规格。

  • 如果硬件兼容性测试安装的是第三方驱动,则在提交测试申请的时候,需要提供第三方驱动的相关信息。

  • 板卡外设的硬件兼容性测试,需要将板卡安装在已经通过硬件兼容性测试的机器上验证。

  • 网卡设备测试时,需要适配到设备最大速率进行测试。

  • 板卡外设的硬件兼容性测试,需要将板卡配置到主流配置。

  • 整机 BIOS 版本或者板卡固件版本升级之后,需要重新进行兼容性测试。

硬件兼容性标准 v1 是 2023 年上半年发布的,主要涵盖以下内容:

  • 标准规定了 Anolis OS 与计算机整机及各个硬件设备兼容性要求,兼容性程度,兼容性测试标准。

  • 标准针对不同的硬件设备给出了兼容性信息和功能点的基本要求。

  • 标准规范了硬件兼容性测试报告的基本信息和格式。

其他详细内容请参阅硬件兼容性 SIG(链接见文末)。目前 ancert 作为硬件兼容性标准的实现工具,正在逐步实现标准里的规定的内容。同时,龙蜥硬件兼容性 SIG 和龙蜥标准化 SIG 正在合作制定龙蜥社区硬件兼容性标准,将于近期发布,欢迎关注。

04  硬件兼容性列表

图片

上图是整机硬件的兼容性列表。目前龙蜥社区的硬件兼容性列表,整机记录已经是覆盖了 X86、Arm、LoongArch 等龙蜥架构。机型以服务器为主,涵盖工作站、一体机、笔记本、台式机等。这些设备的信息来源主要以厂商为主,也会有一些社区爱好者提交硬件设备。

图片

上图是板卡设备的硬件兼容性列表。目前板卡设备记录已经覆盖市面上的主流设备。

05  硬件兼容性测试套件 ancert

图片

上图展示的是硬件兼容性测试套件 ancert 架构,目前已经支持了命令行的模式。ancert 的硬件探测模块,会探测整个系统上所有的硬件设备,构建设备树,并对这些设备进行分类。同时,还会把相应的测试用例和设备类别做 mapping。

ancert 包含一个简单的测试调度器,包含 Test Group、Worker、Test Case。对于大家来说,可能更多了解到的是 Test Group 和 Test Case,Worker 是后面具体的执行进程。一个 Test Group 里包含多个 Test Case,同一个 Test Group 不同的 Test Case 之间是并发执行的。

ancert 测试框架是用 Python 实现,目前 ancert 已经支持了 certify,function 和stress 等不同级别的测试,正在朝着综合硬件测试工具的方向发展:

  • 支持 Python、Shell、C 等的测试用例。

  • 硬件设备的探测、识别、分类。

  • 支持并发测试。

  • 测试进度显示。

  • rpm 包形式发布。

  • 硬件信息显示。

  • 支持不同级别的测试用例。

  • ……

图片

(图/硬件兼容性 ancert 测试方法)

硬件设备兼容性测试工具包括 scp、fio、iperf 等等。另外,针对 GPU,目前已经支持了四个厂商设备的测试。

图片

ancert 有两个模式,分别是 SUT(Server Under Test)和 LTS(Local Test Server)。

SUT 是指被测机,即 ancert 会运行在这台机器上,然后对这台机器上的某些硬件进行测试。整机测试和网络测试还需要一台辅助测试机 LTS,如果不包含网络测试,在一台机器上就可以搞定了。中间可以通过路由、交换机进行一对多的连接方式。CPU、Memory、Storage、NVMe、FC、GPU 等需要进行单机模式,System、Network 需要双机模式。

图片

(图/硬件兼容性测试工具演示)

上图中,ancert --list_hardware All 命令可以打印 SUT 上所有 ancert 已经支持的硬件设备。比如 Memory、显卡、GPU、存储、NVMe、网卡等。

硬件设备前面的[-]代表不可选,默认要测。[1]代表可选的设备序号,可以通过--index [index] 选项选择对应的设备进行测试。[*]代表某些条件不满足,比如上图中, Intel 82599ES 网卡因为没有插网线,所以不能测试。

上图中,Intel 存储卡下面只挂了一块 Intel 的 SSD,并且是系统盘,默认是不能做存储相关测试的。单独做存储卡测试验证的时候,我们是要求必须有一块空闲的硬盘,不过,在整机测试的情况下且只有一块可测试的存储卡的情况下,我们不会要求有一块额外的空闲硬盘。

硬件兼容性测试常见问题如下:

  • Network 板卡测试必须连接网线,并且需要 LTS 辅助测试机。

  • Storage 板卡测试必须安装一块 raw 盘。

  • System 整机测试支持单机模式(不推荐)。因为有不少的社区小伙伴反馈,他们只有一台机器,没有辅助测试机,希望用一台机器也可以执行整机测试。所以我们当时做了单机模式,但实际上是不推荐使用这种模式的。

其中 GPU 的测试用例,有些特殊,我们主要依赖社区共建的方式。因为 GPU 驱动和运算库基本都是第三方的。测试之前需要提测同学提前安装好对应的 GPU 驱动以及运算库。目前 ancert 里面已经支持了四个 GPU 厂商设备的测试,如果出现测试用例不支持的情况,可以直接联系我们,或者贡献对应设备的测试用例到社区,共建测试用例。

图片

ancert 很早之前就已经在 Gitee 上开源了,如果感兴趣,大家点击此链接查看:

https://gitee.com/anolis/ancert

下面作者给大家做下硬件兼容性 SIG 以及硬件兼容性测试申请流程的演示。

图片

硬件兼容性 SIG 可以通过龙蜥社区首页(链接见文末)选择“SIG-硬件兼容性”进入。上图展示的是 SIG 的主页,包括测试标准、测试规范,还有用户手册等文档。

图片

硬件兼容性 SIG 可以通过龙蜥社区首页选择“SIG-硬件兼容性”进入。上图展示的是 SIG 的主页,包括标准、测试规范,还有一些相关的文档。

图片

硬件兼容性列表可以通过“支持-兼容列表”找到。

图片

(图/板卡的硬件兼容性列表)

图片

(图/整机的硬件兼容性列表)

图片

需要选择待测设备类型,填写设备名称,选择申请人类型。如果选择厂商的小伙伴,需要在注册账号签署 CLA 时填写一下所属企业的名称。下一步上传测试结果,然后提交申请。

本次演示到这里就结束了,完整视频回放可在龙蜥官网查看。后续若有其他问题,还请搜索钉钉群号:41484363 入群交流。

关于直播课件及视频回放获取方式:

【PPT 课件获取】:关注微信公众号(OpenAnolis),回复“龙蜥课件” 即可获取。有任何疑问请随时咨询龙蜥助手—小龙(微信:openanolis_assis)。

【视频回放】:视频回放可在龙蜥官网 https://openanolis.cn/video 查看。

相关链接:

硬件兼容性 SIG 主页:

https://openanolis.cn/sig/HCT

龙蜥社区官网主页:

https://openanolis.cn

—— 完 ——

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1100736.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python项目之大学生就业信息管理系统设计与实现

项目简介 大学生就业信息管理系统实现了以下功能: 管理员功能:权限认证,职位管理,企业管理,留言管理,用户管理,投递管理。用户功能:首页,招聘会,留言板&…

5.Vue-在Vue框架中实现Vue的增删改查

题记 在vue框架中实现vue的增删改查&#xff0c;以下是具体操作流程和代码 编写TestView.vue文件 TestView.vue文件如下&#xff1a; <template> <div id"app"> <h1>学生列表</h1> <input type"text" v-model"searchQue…

Nodejs原型链污染学习

文章目录 前置知识JavaScript数据类型prototype原型同步和异步child_process模块 原型链污染利用条件 前置知识 JavaScript数据类型 let和var关键字的区别 使用var或let关键字可以定义变量 let和var的区别如下&#xff1a; var是全局作用域&#xff0c;let 只在当前代码块内…

掌握Go编程中的错误处理和日志记录

构建稳健可靠应用的全面指南 错误处理是编写可靠和稳健软件应用的重要方面。在任何编程语言中&#xff0c;错误是不可避免的&#xff0c;如何处理错误会极大地影响代码的质量和稳定性。在本文中&#xff0c;我们将探索Go中的错误处理世界&#xff0c;理解其重要性&#xff0c;…

修炼k8s+flink+hdfs+dlink(五:安装dockers,cri-docker,harbor仓库)

一&#xff1a;安装docker。&#xff08;所有服务器都要安装&#xff09; 安装必要的一些系统工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2添加软件源信息 sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/cent…

通过商品链接查询淘宝商品详情数据,可以拿到商品标题,商品价格,商品库存,商品销量,商品sku数据等,淘宝API接口

通过商品链接查询淘宝商品详情数据可以参考以下步骤&#xff1a; 打开手机淘宝或者PC端&#xff0c;复制需要查询的商品链接。打开浏览器&#xff0c;输入商品链接&#xff0c;点击搜索。点击搜索结果中的商品链接&#xff0c;进入商品详情页面。点击鼠标右键&#xff0c;选择…

【前段基础入门之】=>CSS3新特性 3D 变换

导语 在上一章节中&#xff0c;我们分享了2D 变换的效果&#xff0c;也分享了一些案例&#xff0c;同时&#xff0c;既然有2D 变换&#xff0c;那么也就肯定有 3D 变换 那么本章节&#xff0c;就为大家带来有关3D 变换的分享. 文章目录 开启3D空间设置景深透视点位置3D 位移3D …

职场中,如何更高效地分析和解决问题(一)

要在职场取得成功&#xff0c;必须掌握多种技能。这些技能大致可分为三类&#xff1a; 一是职能性技能&#xff0c;二是分析和解决问题的技能&#xff0c;三是处理人际关系的技能。 无论在生活中还是工作中&#xff0c;我们都会面临各种问题&#xff0c;有些问题可能简单易处…

Avalonia 实现跨平台的视频聊天、屏幕分享(源码,支持Win、银河麒麟、统信UOS)

现在最火的.NET跨平台UI框架莫过于Avalonia了。Avalonia 基于.NET Core&#xff0c;因此它可以运行在任何支持.NET Core的平台上。之前基于CPF跨平台UI框架写过一个视频聊天的demo&#xff0c;而现在看来Avalonia是大势所趋&#xff0c;于是&#xff0c;我再写一个Avalonia版本…

TP5.1 导出excel文件

在 ThinkPHP 5.1 中引入 PHPExcel&#xff08;现在已被官方弃用&#xff0c;推荐使用 PhpSpreadsheet&#xff09;时&#xff0c;可以按照以下步骤进行操作&#xff1a; 在 composer.json 文件中添加 PHPExcel&#xff08;PhpSpreadsheet&#xff09;的依赖项。找到 require 部…

告别单调的列表页,探索JVS低代码列表页设计的新思路

列表页是什么&#xff1f; 列表页是管理平台中的基础页面&#xff0c;核心的逻辑是实现数据的增删改查&#xff08;CRUD&#xff09;&#xff0c;列表页核心的几个要素&#xff1a;页面内容的数据展示、查询条件、页面按钮及按钮触发的逻辑。 列表页配置 具备应用配置权限的…

利用Python turtle绘制中国结附源码

一、中国结 01 平安喜乐 1&#xff09;效果图 import turtle turtle.screensize(600,800) turtle.pensize(10) turtle.pencolor("red") turtle.seth(-45) turtle.fd(102) turtle.circle(-6,180) turtle.fd(102) turtle.circle(6,180) turtle.fd(102) turtle.circle(…

5、函数式编程--方法引用

目录 6. 方法引用6.1 推荐用法6.2 基本格式6.3 语法详解(了解)6.3.1 引用类的静态方法格式使用前提 6.3.2 引用对象的实例方法格式使用前提 6.3.4 引用类的实例方法格式使用前提 6.3.5 构造器引用格式使用前提 6. 方法引用 ​ 我们在使用lambda时&#xff0c;如果方法体中只有…

如何加入开源项目维护并提交代码?本地搭建源码阅读开发构建环境示例: kafka

如何加入开源项目维护并提交代码?本地搭建源码阅读开发构建环境示例: kafka。 大家对开源项目有兴趣、想成为committer,或者工作需要,会从github上获取最新的开源项目源码。本文做一个示例,怎样搭建本地的源码阅读、开发、构建环境。 首先,在github上找到项目的链接,…

OS 进程的描述与控制

目录 前趋图 程序执行 程序顺序执行 程序并发执行 进程 定义 进程控制块 PCB 进程实体 进程 特征 动态性 并发性 独立性 异步性 状态 3 种基本状态 就绪状态 执行状态 阻塞状态 3 种基本状态间的转换 其他状态 创建状态 终止状态 进程 5 种状态及其转换…

创建JUnit4 的TestBase类

Slf4j RunWith(SpringRunner.class) SpringBootTest(classes {TestApplication.class},webEnvironment SpringBootTest.WebEnvironment.RANDOM_PORT) public class TestBase { } 如图&#xff1a;

基于Bert模型的中文语义相似度匹配算法(离线模式)

1、准备中文离线模型 配置文件夹 文件获取方法&#xff1a; 访问官网&#xff1a;https://huggingface.co/bert-base-chinese/tree/main 下载以下文件 2、测试代码 # -*- coding: utf-8 -*- #pip install transformers -i https://mirrors.aliyun.com/pypi/simple/ #pip …

2023年中国机场建设标准、机场数量及机场系统投资完成情况分析[图]

机场&#xff0c;亦称飞机场、空港&#xff0c;较正式的名称是航空站。机场有不同的大小&#xff0c;除了跑道之外&#xff0c;机场通常还设有塔台、停机坪、航空客运站、维修厂等设施&#xff0c;并提供机场管制服务、空中交通管制等其他服务。 机场建设资质等级标准 资料来源…

当遇到修复错误0xc000000e时,你的电脑需要修复。如何在Windows 11/10上修复此错误

恢复错误代码0xc000000e,你的电脑需要修复,表示硬件故障或驱动器配置不正确,并可能伴随不同的错误消息,如: 所需设备未连接或无法访问 无法加载所选条目 由于应用程序丢失或损坏,无法加载所选条目 启动选择失败,因为无法访问所需的设备。 0xC000000E或STATUS_NO_SUCHDEV…

MBR20100CT-ASEMI肖特基MBR20100CT参数、规格、尺寸

编辑&#xff1a;ll MBR20100CT-ASEMI肖特基MBR20100CT参数、规格、尺寸 型号&#xff1a;MBR20100CT 品牌&#xff1a;ASEMI 芯片个数&#xff1a;2 封装&#xff1a;TO-220 恢复时间&#xff1a;&#xff1e;50ns 工作温度&#xff1a;-65C~175C 浪涌电流&#xff1a…