UEFI在ARM生态中现状如何?认证金标准介绍

2022-05-19     大方老师单片机

原标题:UEFI在ARM生态中现状如何?认证金标准介绍

UEFIARM生态中现状如何?认证金标准介绍

///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免费的,私信我就可以~点我头像黑色字体加我地球呺也能领取哦。最近比较闲,带做毕设,带学生参加省级或以上比///

在大多数人心目中ARM世界BootLoaderuboot+DeviceTree统治。是啊uboot简单快捷,移植容易,为什么不用呢?uboot有个显著的缺点:缺乏标准和互操作性。这让它更合适专用系统,而不是通用系统。ARM多用于嵌入式设备,如摄像头和手机等等,的时候,这个并不是问题。嵌入式设备往往是垂直定制开发的,从硬件、固件BSP和操作系统,都深度定制,没有问题是定制修改程序所不能解决的。但ARM进入x86的传统领域后,PC和服务器市场,情况发生了变化。

ARM生态的通用性需求不断增长

与大多数人基本的概念不同,在某种意义上来说X86体系ARM体系更加开放X86是很多小伙伴一起玩,以生态圈的概念提供产品,并对自己那部分负责;ARM体系虽然也依赖生态圈,但最终有个Boss统合整个生态链,提供最后产品并对该产品负总责。

X86生态圈玩家众多,OS厂商OSV)定期发布操作系统,WindowsUbuntu;芯片厂商提CPUIntel, AMD;主板厂商OEM)提供电脑主板;独立硬件供应商IHV)生产扩展板卡如显卡等PCIE扩展卡,再如内存厂家推出一代一代不同的内存条等等DIY玩家可以自由选择搭配合/兼容的产品搭配出自己心仪的机器,休闲上网用户2000多元就可以搭配出一套可用的电脑,而游戏玩家则可能花费上万元才能满足游戏配置需求。还有些品牌机厂商Dell和联想等,他们提供整套最终产品给用户。但他们实际上是在所有小伙伴的零件基础上拼凑出个产品,技术不强,话语权弱,并不能统一整个产业链。用户津津乐道的反而是用的什CPU,安装的什么操作系统,用的那种显卡等等Windows死机、蓝屏和缓慢等等时候,用户往往会抱怨微软Intel,而不是品牌厂商。X86生态中,强势的是整个生态链的两端:微软Intel,分别卡住最上游和最下游。在争取了链条利润的最大头后,也要直接面对数千数万种千奇百怪的硬件产品,于是才发明UEFIACPI标准,规范了各个层面的调用接口。更重要的是,为了规范中间链条各个厂商的行为,分别推出了一软一硬两个认证WHQLIntel最新EVO。保证了市面上上百种产品的质量可控。

ARM体系由最后品牌厂商统合整个产品,它负责打通整个产业链,并对其中所有部分负责,话语权极强,同时对技术也相对较强。用户面对的具体品牌的产品,而不是碎片化的各个部分。强势的Apple,硬件软件一起抓,完全组成闭环的链条。稍差也如华为等安卓手机,要负责安卓系统在自己手机移植部分BSP),客户出了问题并不会找谷歌,而会去找华为。对规范和标准的需求并不强烈。

随着采ARM内核的芯片性能不断提高ARM内核芯片不断进x86传统领域。移动和桌面AppleAxx,服务器端有鲲920(也可以用于桌面)、倚710,、安培Graviton系列,它们的性能完全可以Intel/AMD的芯片打擂台。ARM的小伙伴们进入这些领域后,他们发现一样也要面临碎片化的生态系统的问题。于是接UEFIACPI变成了必然的选择。这也EDK2社区最活跃的用户在近几年已经不x86的开发者,而ARM相关开发者(最近一年多换成RISC-V)可以看出。于此同EDK2开源平台仓EDK2_Platforms下面也涌入了大ARM平台,好不热闹。

现状是,所有成熟ARM服务器产品都采UEFI+ACPI方案;很ARM移动和桌面产品已经采UEFI+ACPI方案;大ARM产品在赶来的路上;形式喜人。同时,作ARM世界的灵魂ARM公司也推出了大量规范和标准,来规ARM产品的行为,如针对服务器的服务器的SBSASBBR规范,最新的基本系统架构(BSA)、基本启动要求(BBR),以及针对安全的基本启动安全要求(BBSR)等等。多个层次和方向的规范标准相当繁杂,而且标准有些是必须达到的,有些则是推荐,这样给最终用户造成了不少困扰,也造成了市场的混乱。如何定ARM产品标准,这个标准必须是可衡量的可标识的,并且要简单易懂,最好还能朗朗上口?微软以前的答案WHQL认证测试Windowsxx标签ARM的是什么呢?

ARM SystemReady

ARM公司ARM进入服务器领域不久就发现了这种需求,推ARM ServerReady计划。随ARM内核芯片的市场不断外延ARM202010月开发者峰会上,正式宣布升级版ARM SystemReady[1]和白皮书[2]

ARM SystemReady的口号Just Work(即开即用,不是仅仅工作),强调它的可用性和已验证性。它主要包括四种认证:

·SystemReady SR:即以前ServerReady,适用serverworkstation。它除了要求SBBR之外SBSASBBR被替换为通用的BSA规范和SBSA规范。

·SystemReady ES:适用于基础架构和物联网边缘设备等嵌入式服务器。

·SystemReady IR:用于基础架构物联网和物联网边缘设备。

·SystemReady LS:适用于当下火热LinuxBoot来启server

标准可以说涵盖了从云端到物联网边缘计算中的所有部分。因为覆盖范围大,所以各个部分的标准要求各有不同:

来源:参考资2

如果通过了基本启动安全要求(BBSR)的要求,还可以Logo配享ARM特制小盾牌:

BSASBSASBBRBBSR等标准大家可以ARM官网或System Ready Spec页面[3]找到相关链接,并仔细阅读。如果大家留言足够踊跃,也许今后本专栏会专文介绍其中比较重要SBBRSBSA规范。

下面是专门整理的各种标准细节和测试套ACS[4]细节,拿走不谢:

这里要特别一点,那就UEFIACPIDeviceTreeDT)的关系。我们可以看到SystemReady IRspec是个奇怪的组UEFI+DeviceTree。我们普通看到的系统都UEFI+ACPI,或uboot+DeviceTree,但是实际上DTUEFI并不矛盾,更有甚者,有些定制化奇怪的系统上甚至出UEFI+ACPI+DT的怪异组合。这里采DT主要是考虑物联IOT系统使DT更加简单。关于为什么ARMACPI要替DT见参考资5[5]DTACPI的关系可以参考我的这篇文章:

老狼ACPIUEFI302 · 16评论文章

结论

ARM SystemReady一经推出,立刻受到众多小伙伴的欢迎[6]

来源:参考资6

值得一提的是,国BIOS厂商百敖软件也是成员之一ARM SystemReady目前已经认证了很多系统[7],其中除了国外大厂之外,还有不少国内的产品。相信未来,可以通SystemReady的产品会越来越多。

文章来源: https://twgreatdaily.com/zh-hans/1608f508bd55e8bb680c178660492812.html