LinuxBoot: Enter Open Source, Goodbye Proprietary UEFI
LinuxBoot is an Open Source alternative to Proprietary UEFI firmware. It was released last year and is now being increasingly preferred by leading hardware manufacturers as default firmware. Last year, LinuxBoot was warmly welcomed into the Open Source family by The Linux Foundation.
This project was an initiative by Ronald Minnich, author of LinuxBIOS and lead of
Google, Facebook, Horizon Computing Solutions, and Two Sigma collaborated together to develop the LinuxBoot project (formerly called NERF) for server machines based on Linux.
Its openness allows Server users to easily customize their own boot scripts, fix issues, build their own runtimes and reflash their firmware with their own keys. They do not need to wait for vendor updates.
LinuxBoot works fine on UEFI systems, and the developers are always happy to help people get it working on their system. It is not just restricted to servers either. It works fine on systems that run UEFI, coreboot, or u-boot.
Following is a video of Ubuntu Xenial booting for the first time with NERF BIOS:
Let’s talk about some other advantages by comparing it to UEFI in terms of Server hardware.
Advantages of LinuxBoot over UEFI
Here are some of the major advantages of LinuxBoot over UEFI:
Significantly faster startup
It can boot up Server boards in less than twenty seconds, versus multiple minutes on UEFI.
Significantly more flexible
LinuxBoot can make use of any devices, filesystems and protocols that Linux supports.
Potentially more secure
Linux device drivers and filesystems have significantly more scrutiny than through UEFI.
We can argue that UEFI is partly open with EDK II and LinuxBoot is partly closed. But it has been addressed that even such EDK II code does not have the proper level of inspection and correctness as the Linux Kernel goes through, while there is a huge amount of other Closed Source components within UEFI development.
On the other hand, LinuxBoot has a significantly smaller amount of binaries with only a few hundred KB, compared to the 32 MB of UEFI binaries.
To be precise, LinuxBoot fits a whole lot better into the Trusted Computing Base, unlike UEFI.
LinuxBoot has a kexec based bootloader which does not support startup on Windows/non-Linux kernels, but that is insignificant since most clouds are Linux-based Servers.
In 2011, the Open Compute Project was started by Facebook who open-sourced designs of some of their Servers, built to make its data
- Tioga Pass
More OCP hardware are described here in brief. The OCP Foundation runs a dedicated project on firmware through Open System Firmware.
Some other devices that support LinuxBoot are:
- QEMU emulated Q35 systems
- Intel S2600wf
- Dell R630
Last month end, Equus Compute Solutions announced the release of its WHITEBOX OPEN™ M2660 and M2760 Servers, as a part of their custom, cost-optimized Open-Hardware Servers and storage platforms. Both of them support LinuxBoot to customize the Server BIOS for flexibility, improved security, and create a blazingly fast booting experience.
What do you think of LinuxBoot?
LinuxBoot is quite well documented on GitHub. Do you like the features that set it apart from UEFI? Would you prefer using LinuxBoot rather than UEFI for starting up Servers, owing to the former’s open-ended development and future? Let us know in the comments below.