A community effort to get the low-cost yet surprisingly powerful Raspberry Pi 4 single-board computer "ServerReady" is bearing fruit, releasing an open-source Unified Extensible Firmware Interface (UEFI) and Advanced Configuration and Power Interface (ACPI) firmware compatible with Arm's Server Base Boot Requirement (SBBR) specification.
Launched in 2014, Arm's Server Boot System Architecture specification (SBSA), followed four years later by the Server Base Boot Requirement, acts as the company's effort to deal with one of the major hurdles to getting a toehold in the server market: fragmentation. Traditionally, Arm boards have required custom-made operating system images, often loaded with proprietary binary-blobs, and when a vendor stops supporting a board so too does the operating system support disappear. Under SBSA, compliant boards would be guaranteed to boot unmodified operating systems using only upstream code — just as in the x86 world.
Typically, SBBR compliant Arm boards don't come cheap, aimed as they are at the server market. A community-driven effort to bring compliance to the popular Raspberry Pi family of single-board computers, though, is showing real promise with its latest releases for the surprisingly powerful yet low-cost Raspberry Pi 4.
In a project update first spotted by CNX Software, the "Pi4 Firmware Task Force" working on the effort to bring SBBR compliance to the board has released version 1.1 of a functional UEFI and ACPI firmware — though developer Pete Batard warns that the project is still in a very early stage of development, and is far from feature-complete.
"This is very much a continuation of the original Raspberry Pi (3B/3B+) support in TianoCore, but with bigger goals and bigger stakes," the team behind the effort explain. "The Pi 3 UEFI is a classic EBBR [Embedded Base Boot Requirement] implementation, capable of booting 64-bit Arm (AArch64 aka arm64) operating systems with explicit Raspberry Pi 3B/3B+ support. This includes FreeBSD, NetBSD and various Linux distros via Device Tree, and Microsoft Windows 10 via non-standard ACPI.
"The Pi 4 UEFI is aiming at full compliance with SBBR for running 64-bit Arm (AArch64 aka arm64) operating systems that are part of the ServerReady ecosystem. This includes stock FreeBSD, NetBSD, Microsoft Windows 10 and Linux distributions which boot via standard ACPI and expect an SBSA-compliant system. Arm ServerReady ensures that Arm-based infrastructure works out-of-the-box with off-the-shelf, offering seamless interoperability with standard operating systems, hypervisors, and software.
"In simple terms," the team continues, "with SBBR your favorite Linux distro ISO or other OS will boot without needing a custom kernel. You might need drivers for specific I/O like on-board networking, but at its core the system will be usable with standard USB devices and HDMI video, enough to get on the network or do basic development. Because ServerReady might mean certain functionality is not available due to non-compliance (e.g. explicit PCIe), the Pi 4 UEFI will still support booting all your favourite 64-bit Raspberry Pi 4 OSes EBBR-way with Device Tree."