Thanks to Microsoft's Windows 8 UEFI (Unified Extensible Firmware
Interface) Secure Boot there was no easy way to boot Linux, or any other
operating system, on Windows 8 PCs. Now, there are two ways, the recently released Linux Foundation (LF) UEFI secure boot system and Matthew Garrett's shim system to boot Linux on these PCs. Soon, there will be only one unified way.
UEFI Secure Boot Linux expert Garrett wrote in his blog, "we now have two signed bootloaders available." The shim method, which Garrett worked on, is now used by Fedora, openSUSE, and Ubuntu. "The LF loader is a different solution to the same problem," said Garrett.
According to Garrett, "One of the primary functional differences
between Shim and the LF loader is that the LF loader is based around
cryptographic hashes rather than signing keys. This means that the user
has to explicitly add a hash to the list of permitted binaries whenever a
distribution updates their bootloader or kernel. Doing that involves
being physically present at the machine, so it's kind of a pain."
So why did the LF create it then? Garrett explained, "Being hash
based means that you don't need to maintain any signing infrastructure.
This means that distributions can support Secure Boot without having to
change their build process at all. Shim already supports this use case
(and some distributions are using it), but the LF loader has nicer UI
for managing it."
In addition, Garrett conceded, "Shim implements Secure Boot loading
in a less than entirely ideal way - it duplicates the firmware's entire
binary loading, validation, relocation and execution code. This is
necessary because the UEFI specification doesn't provide any mechanism
for adding additional authentication mechanisms. The main downside of
this is that the standard UEFI LoadImage() and StartImage() calls don't
work under Shim. The LF loader hooks into the low-level security
architecture and installs its own handlers, which means the standard
UEFI interfaces work. The upshot is that you can use bootloaders like Gummiboot or efilinux [user-friendly UEFI boot menu systems] without having to modify them to call out to Shim."
So, with two different approaches to the same goal, Garrett has
decided to merge them together. He's now working on "integrating the LF
loader's UI and security code into Shim with the aim of producing one
loader that'll satisfy the full set of use cases."
Jame Bottomley, the Linux kernel developer behind the LF UEFI bootloader thinks this is a fine idea. "We’re currently investigating merging them. The main sticking point is the validity of the security override protocol," wrote Bottomley.
Once that problem is fixed, and the usual programming teething
troubles are overcome, we'll see a new, unified Linux bootloader for all
Intel-based Windows 8 PCs. Neither method, nor the forthcoming unified
one, will work on any ARM-powered Windows RT tablet or laptop. Microsoft ARM-powered devices are permanently locked into Windows 8.
Still, within the next few months, booting and installing Linux on
Intel-based Windows 8 PCs will once more be a matter as simple as
putting a Linux CD or USB stick in a PC and re-booting the system.
0 σχόλια:
Post a Comment