I was recently surprised when I found myself CC’ed on a forwarded email from a company marketing itself as a significant provider of cloud computing Infrastructure-as-a-Service (or IaaS). The message, from one of the cloud provider’s engineers to a group mostly comprised of his co-workers, bore what to him had been surprising news:
Hey, there's a new type of BIOS called "UEFI", and apparently it's very different from the standard BIOS!
Oh my. This was news to them?
UEFI, or Unified Extensible Firmware Interface, sometimes just EFI, began as an HP-Intel project in the mid 1990s to replace the BIOS firmware model dating back to the IBM Personal Computer 5150 design of 1981.
BIOS entered its rapid extinction phase around 2010 when Microsoft announced that it would not approve a platform for Windows 8 unless it supported the Secure Boot feature included in UEFI.
No UEFI, no Microsoft ”Approved for Windows” sticker. That was a strong motivation for the remaining manufacturers of motherboards with BIOS firmware to get with the program.
By the way, not to be overly pedantic, but saying ”UEFI is a new form of BIOS” is like saying ”SATA is a new version of IDE”, or ”Oranges are a different type of Apples.” Confusion and sloppiness continues because hardware manufacturers continue to use mangled terminology like ”UEFI BIOS” in their marketing and even their UEFI firmware startup splash screens.
Learning Tree’s Linux server administration course provides one way to learn about UEFI and its role in the surprisingly complicated Linux boot process. But maybe you have recently taken that course and you want to continue to experiment with and learn about UEFI firmware. How to proceed?
I’m a fan of the Raspberry Pi, as it provides a surprisingly capable Linux system for just $30. However, the Raspberry Pi, BeagleBone, and other low-cost small Linux systems are based on the ARM architecture and have a very different boot sequence with no UEFI.
Old and unwanted hardware usually provides another low-cost and easily available platform for learning more about Linux. But if it’s old enough that no one cares what happens to it, there’s still a good chance that it will have BIOS firmware.
Virtualization to the rescue!
VMware provides good emulation of a UEFI platform. The trick, which that cloud provider seems not to know, is to include this line in the
*.vmx configuration file:
Define a new virtual machine and exit vmware. Then edit the
*.vmx file and add that line. Restart VMware and attach an ISO image of the installation media of a UEFI-capable Linux distribution as the DVD device and do a fresh installation. Make sure your distribution supports UEFI installation, some distributions including Mageia and Knoppix have been surprisingly slow supporting it!
One thing you need to learn is how to use the
efibootmgr program to examine and manipulate the firmware settings from within the running operating system.
One task that gets complicated is a migration from one distribution to another using
rpm. It gets tricky when you must update the firmware settings with
efibootmgr. Learning Tree’s Linux server administration course shows you how to do that. If you can handle that migration, you’re ready for most any task involving package management and UEFI configuration!