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/1608f508bd55e8bb680c178660492812.html