麦斯科技 · 2021年10月31日

SystemReady ES测试和认证指南

https://developer.arm.com/documentation/102529/latest

概述

本指南概述了Arm SystemReady认证和测试过程。在本指南结束时,您将了解在ServerReady(SR)或嵌入式服务器(ES)频段中使用Arm SystemReady认证对系统进行认证所需的步骤。

Arm SystemReady是一套标准和合规性认证计划,可实现与通用现成操作系统和虚拟机监控程序的互操作性。Arm SystemReady认证计划涵盖从云到物联网边缘的一系列设备。

遵守Arm SystemReady条款和条件的合规系统将获得合规证书,并可以使用Arm SystemReady认证印章徽标。

ARMSystemReady规范由通用基本系统体系结构(BSA)组成,其中包含部署操作系统的最低要求。SystemReady还包括补充规范,如服务器市场的服务器基础系统体系结构(SBSA)。

基本引导要求(BBR)规范提供了适应不同标准的引导方法。该规范还提供了更广泛的操作系统和虚拟机监控程序使用的引导固件实现。

有关Arm SystemReady认证计划的更多信息,请参阅Arm SystemReady认证计划。

本指南仅为SystemReady ES和SystemReady SR波段提供指导。

什么是SystemReady认证?

SystemReady认证计划确保支持现成操作系统和虚拟机监控程序的系统达到尽可能高的标准。为了帮助您导航流程,Arm提供了以下支持:

  • 本指南解释了如何在请求的频段中获得SystemReady认证。
  • Arm SystemReady合规团队帮助评估您的认证系统,并提供反馈和指导。
  • Arm提供检查表、表单和报告模板,以确保在提交认证请求时提供必要的信息。
  • Arm SystemArchAC邮件列表。有关更多信息,请联系Arm SystemReady认证计划。

SystemReady认证流程的工作原理

以下步骤描述SystemReady认证过程:

  1. 签署SystemReady计划法律协议。认证请求进入待审核的认证待办事项列表中。
  2. 向SystemReady合规团队提交SystemReady固件就绪检查表。当您提供系统硬件和固件时,合规团队将执行认证就绪性评估。
  3. Arm提供反馈,包括对实现认证的努力的估计,并要求您解决任何准备就绪问题。重复此步骤,直到固件中的所有问题都得到解决,并且正式的认证过程开始。
  4. 当合规团队指示系统已准备好进行正式认证时,运行ACS认证测试,包括操作系统安装。您将ACS测试日志连同SystemReady准备就绪评估报告以及任何勘误表和弃权理由提交给Arm审查。
  5. Arm审查提交内容,并就任何妨碍认证的问题提供反馈。然后调试问题,根据需要进行固件修复,响应故障分析,并准备任何其他豁免请求。
  6. 再次运行ACS测试,并将表格、日志、豁免请求和勘误表提交给合规团队审查。重复此步骤,直到所有问题都得到解决。然后将认证请求提交给Arm架构师进行最终审查和批准。目前,Arm向您发送认证文件的草稿以供审阅。
  7. 当Arm架构师批准认证时,Arm营销部门发布官方证书、弃权书和认证标志。
  8. 提交SystemReady合规性列表(SCL)条目表,以便将系统添加到Arm网站上的SystemReady认证列表中。

提供认证信息

提交SystemReady认证请求时,必须提供表格、报告和日志,以确保可以评估该请求。本节介绍认证请求所需的信息。

Arm提供准备就绪检查表、表格和报告模板,以确保在整个认证过程中提供所有必需的输入。

提交固件就绪检查表

SystemReady固件就绪检查表在初始认证评估之前提交。此检查表确保您提供以下信息:

  • 公司、系统和SoC信息
  • 您申请认证的SystemReady Band
  • 硬件和固件可用性以及U-Boot或EDK信息
  • Arm基础系统架构(BSA)合规状态
  • 操作系统引导、ACS合规性和安全合规性嗅探测试信息

提交准备状态评估报告

当您请求正式认证时,将提交SystemReady准备就绪评估报告。您必须在报告中填写以下信息:

  • 一般信息、公司信息和系统信息
  • ACS日志的空间
  • 系统、设置和任何相关屏幕截图(如固件引导和菜单)的图片区域
  • 一个全面的SystemReady评估摘要和报告单个ACS、UEFI嗅探测试和OS引导测试的空间

提交SystemReady认证列表

授予认证后,提交SystemReady认证列表(SCL)表格。SCL表单包含在Arm SCL网页上列出系统所需的信息。

请求豁免

在某些情况下,Arm架构师和Arm SystemReady合规团队授予对SystemReady标准的豁免。在提交认证申请时,必须申请豁免并提供理由。

如有必要,Arm可以咨询独立软件供应商(ISV)。如果不能授予豁免,Arm将提供反馈。要开发修复或解决方法,您可以咨询silicon partner(SiP)或独立BIOS供应商(IBV)。然后可以重新提交认证请求以进行进一步评估。

测试系统符合性

Arm SystemReady体系结构符合性套件(ACS)是一组测试,用于确保体系结构的不同实现和变体之间的体系结构符合性。ACS以源代码形式提供,并带有构建环境。构建的输出是一个可引导的实时OS映像,其中包含测试套件的集合。该输出统称为BSA和BBR ACS,用于测试SystemReady ES认证是否符合BSA和BBR规范。

Arm建议您根据ACS签署架构实现,以证明符合这些规范。

ACS概述

ACS for SystemReady认证通过实时操作系统映像交付,这使基本自动化能够运行BSA和BBR测试。OS映像是UEFI shell和Linux内核上的一组UEFI应用程序,具有 busybox(软件名) 与固件测试套件(FWTS)集成。FWTS是由Canonical托管的包,它为设备树和UEFI提供测试。FWTS测试定制为仅运行UEFI测试。

下图显示了不同的ACS组件:

block.png

BSA-ACS

BSA测试套件检查是否符合Arm基础系统架构(BSA)规范。测试通过两个套件进行:

UEFI外壳上的BSA测试。这些测试是在验证适配层(VAL)和平台适配层(PAL)之上编写的。抽象层为测试提供平台信息和运行时环境,以支持测试的执行。在Arm交付中,VAL和PAL写在UEFI上。

在Linux命令行上进行BSA测试。这些测试包括Linux命令行应用程序bsa和内核模块bsa_acs.ko。

BBR-ACS

BBR测试套件检查是否符合Arm基础引导要求(BBR)规范。对于SystemReady ES认证,固件根据BBR的SBBR配方进行测试。

这些测试通过两个代码体进行:

UEFI自我认证测试(SCT)测试中包含的SBBR测试。由SCT测试的UEFI实施要求。

基于FWTS的SBBR。固件测试套件(FWTS)是由Canonical托管的一个包,它为ACPI和UEFI提供测试。FWTS测试定制为仅运行UEFI测试。

ACS测试过程

下图显示了整个ACS测试过程:

test_flow.png

ACS先决条件

运行ACS测试的先决条件如下:

  • 准备一个存储容量至少为1GB的USB设备。此USB用于引导和运行ACS,并存储执行结果。注意:我们建议您使用带有快速SSD驱动器的USB磁盘存储模块。
  • 准备SUT(测试中的系统)机器和主机
  • 准备已加载最新固件的SUT计算机,即用于控制台访问的主机,然后收集结果

设置测试环境

要设置USB设备,请使用以下步骤:

1,将SystemReady ES认证的预构建ACS映像下载到Linux上的本地目录。用于SystemReady ES认证的预构建ACS映像可在GitHub上的以下位置获得:

https://github.com/ARM-software/arm-systemready/tree/main/ES/prebuilt_images/
        <release tag>/es_acs_live_image.img.xz

有关最新版本和发布标签的信息,请参阅SystemReady ES ACS自述。

https://github.com/ARM-software/arm-systemready/blob/main/ES/README.md

2,解压缩映像并将其部署到USB磁盘。使用诸如Linux上的xz或Windows上的7-Zip之类的实用程序来解压缩es_acs_live_image.img.xz文件。

3,在Linux主机上,使用以下命令将ES ACS可引导映像写入USB磁盘

$ lsblk
$ sudo dd if=/path/to/es_acs_live_image.img of=/dev/sdX
$ sync

在此代码中,将/dev/sdX替换为USB设备的名称。使用lsblk命令显示USB设备名称。

运行测试

要执行ACS ES预构建映像,请执行以下操作:

1.在SoC上选择从USB引导选项。

2.将USB插入其中一个USB插槽并启动电源循环。

实时映像将自动引导并运行ACS。

下图显示了通过ES ACS实时映像执行ACS的完整过程:

execution_flow.png

注意:要跳过图中所示的调试和测试步骤,请在五秒钟内按任意键。

如流程图所示,有两种主要的执行模式:

  • 全自动模式
  • 正常模式

以下各节将更详细地描述这些模式。

以自动模式运行测试

如果GRUB中没有选择任何选项,并且没有跳过任何测试,那么测试将以全自动模式运行。

以下屏幕截图显示GRUB引导加载程序选项屏幕:

grub_bootloader.jpg

几秒钟后,映像按以下顺序执行ACS进程:

1,SCT测试:

sct_tests.jpg

2,UEFI 调试转储:

uefi_debug_dumps.jpg

3,BSA ACS:

bsa_acs.jpg

4,FWTS 测试:

fwts.jpg

5,Linux BSA 测试:

linux_bsa.png

执行这些测试后,控件返回Linux提示符。

在正常模式下运行测试

映像启动时,选择以下GRUB选项之一以指定测试自动化:

  • Linux BusyBox引导Linux并执行FWTS和Linux BSA
  • BBR或BSA以与全自动模式相同的顺序执行测试注:您也可以通过在适当的点按键跳过各个测试阶段,如上面的流程图所示。

查看ACS测试结果日志

日志存储在映像中一个称为acs结果的单独分区中。

下图显示了日志目录结构:

results.png

测试完成后,acs_results分区安装在/mnt上。导航到acs_结果以查看日志。

从USB磁盘提取日志,以便稍后在主机上查看日志。

装载acs_结果目录后,检查是否生成了下表中所示的日志:

1.png

如果缺少任何日志,请手动运行套件并向Arm认证合作伙伴报告错误。

装载结果分区以将日志复制到本地目录,然后将结果分区中acs_results目录中的日志提交给Arm认证合作伙伴。

推荐阅读
关注数
5845
内容数
525
定期发布Arm相关软件信息,微信公众号 ArmSWDevs,欢迎关注~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息