Over the past decade, the Open Compute Project Foundation (OCP) has successfully turned open hardware concepts into reality. The key to further increasing the impact of OCP is to lower barriers for OCP server evaluation and reduce time-to-market for OCP server adoption, enabled through Open System Firmware (OSF) innovations.
On September 14, 2021, OSF for OCP server DeltaLake was approved and became public on the OCP GitHub.
This enables the OCP Community to build and customize the host firmware for DeltaLake server in Yosemite V3 system, plus access to view the firmware specifications, test reports, and other pertinent details. With this milestone, DeltaLake has fulfilled all OCP OSF project checklist criteria for OCP acceptance.
The Path to Get Here
As noted in the blog, “Linux Firmware Boots Up Server Powered By Intel® Xeon® Scalable Processor” which outlined how to address fleet-level infrastructure scalability challenges, Meta successfully concluded a proof-of-concept in March 2020; OSF provided a compelling host firmware alternative on the OCP TiogaPass server, which is based on the Intel Xeon Scalable processor.
Building on this achievement, Meta, Intel, Wiwynn, Quanta, and 9elements continued development of the OSF on OCP DeltaLake server, which is now based on 3rd Generation Intel Xeon Scalable processor. Close collaboration and engineering excellence yielded the OSF for DeltaLake, which reached production quality for targeted use cases in July 2021.
The OCP DeltaLake server is designed to operate in the OCP Yosemite V3 system. OCP DeltaLake server is a single socket server based on 3rd Generation Intel Xeon Scalable processor with built-in AI accelerators. Both the OCP Yosemite Y3 System Spec and the OCP DeltaLake Server Spec were OCP Accepted earlier this year.
Furthermore, the OCP Open System Firmware (OSF) project which started as an incubation project, became a formal project in August 2019 with the objective to lower the barriers for OCP server adoption. The collaborators developed a thorough OSF checklist, which was approved by the OCP Incubation Committee in July 2021. An “OCP Accepted™” badge for servers was also established, signifying that a server submission meets all OSF checklist requirements.
With help from OCP and the firmware communities, the OSF for DeltaLake solution was accepted and made public in September 2021. The submission meets the OCP OSF checklist criteria. This solution enables the OCP Community to "own their firmware," build it, and run it. Owners and the communities are empowered to collaborate on OCP DeltaLake server host firmware engineering.
OSF For DeltaLake
The OSF For DeltaLake features following components:
osf-builder: These build-system mechanics fetch the code base, build each component, and stitch the components into a host firmware image. The osf-builder was developed and open-sourced by Meta (https://github.com/facebookincubator/osf-builder) .
FSP: FSP binary, which is responsible for silicon initialization, was developed by Intel. It is available here: https://github.com/intel/FSP/ .
coreboot: Platform initialization is the responsibility of coreboot, which is designed to be slim and to prepare for LinuxBoot execution. As an open-source project, coreboot has a vibrant community: https://www.coreboot.org/ .
LinuxBoot: LinuxBoot is responsible for locating the target OS and jump-starting it. Its kernel is a regular Linux kernel, with code base from https://www.kernel.org/. Its initramfs uses u-root. U-root likewise is an open-source project that has a vibrant community: https://github.com/u-root/u-root/ .
Other Intel binaries: These include such elements as ME (Management Engine) Ignition binary and microcode. They are published by Intel under redistributable license terms.
(Tux the penguin is attributed to lewing@isc.tamu.edu)
(Author and license of LinuxBoot logo are described at https://www.linuxboot.org/page/artwork/)
Figure-1: OSF architecture
The engineering philosophy of OSF for DeltaLake is upstream first, with the exception of patches containing info that cannot be made public.
The OSF for DeltaLake passed comprehensive test coverage. Some of the tests are:
-
Function: The functionalities were verified in LinuxBoot u-root shell, in the OS command line, and through BMC interfaces.
-
Stability: This included reboot stability tests and stress tests.
-
Performance: This included memory, CPU, and IO performance tests.
-
Power/thermal: Power consumptions were measured. Adverse conditions and responses were tested and verified.
-
RAS: Hardware error handling was tested by means of error-injection procedures, such as ACPI EINJ-based, ITP/Cscript, hardware-based injection methods.
-
Validation tools: This included code-analysis tools, such as coreboot memory address sanitizer, Intel selftest tool, and Ubuntu fwts tool.
On functional aspects, the OSF for DeltaLake...
-
Supports Intel CBnT (Converged Intel(R) BootGuard and Intel(R) TXT technologies) with profile 0T, which meets OCP security project-defined gold level (Refer to the 2021 Supplier Requirement). It is possible to add support for other profiles, and it is also possible to add support for coreboot verified boot (https://doc.coreboot.org/security/vboot/index.html). CBnT provides a static root of trust (ROT) for host firmware measurement and verification. It also provides dynamic root of trust, which enables trusted launch of Intel TXT-enabled software/OS. In addition, TPM2.0 support is added in coreboot. Note that the CBnT feature is not available without Intel ACM binaries; these are available to Intel customers who have certain agreements with Intel.
-
Properly enables hardware-enhanced security partitioning (effectively “locking down”) of the chip set and appropriate debug interface when the hardware initialization is completed.
-
Supports relevant industry standards, including ACPI and SMBIOS. It interacts with OpenBMC according to the IPMI spec.
-
Enables both in-band firmware update and Out-Of-Band (OOB) method.
-
Has the required server RAS functionalities to inject/handle hardware errors, including memory errors, PCIe errors, core errors, and uncore errors. Some essential RAS patches are omitted when building from OCP OSF GitHub, because these contain Intel proprietary information restricted to Intel customers who have certain agreements with Intel.
-
Enables users to configure firmware, such as IPMI FRB2 watchdog timer configuration, and logging verbose level configuration for all firmware components.
Next Steps
Having a great OSF code base for DeltaLake and making it public is a major milestone for Open System Firmware. This delivers a public OSF code base for a server product based on 3rd generation Intel Xeon Scalable processor, and is supported by vibrant open source communities. Steps are now being taken to advance Open System Firmware to the next level:
- Continued improvement of OSF for DeltaLake -- Wiwynn began offering its SV7100G4 (OCP Yosemite v3 System with DeltaLake servers) to the industry, through partnership with 9elements. 9elements will maintain the code base, including rebasing to the tip of open-source components, and making releases periodically.
- OSF for latest processors/platforms -- As part of a larger industry collaboration, Meta, Intel, Wiwynn, and Quanta have been working on OSF for the latest processors and platforms. The goal is to not only achieve feature/schedule parity with the traditional host firmware approach, but to also accelerate time to market for new processor/platform technologies -- for example, Compute Express Link (CXL) technology. This execution is backed by strong industry momentum. As part of the industry movement, Intel will have FSP API mode for its Next Gen Intel Xeon Scalable processors, codenamed Sapphire Rapids.
To learn more, please join us at the upcoming 2021 OCP Global Summit. OSF for DeltaLake will be demonstrated at the OCP Experience Center. In addition, the Summit will feature technical presentations on OSF, such as “OSF on Intel Xeon processor-based servers -- from Blueprint to Production Quality,” and “OCP DeltaLake server OSF How-tos and Features.” Learn more at: https://www.opencompute.org/summit/global-summit.
Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries.