The question of whether Secure Boot technology in UEFI firmware could exclude Linux from PCs running Windows 8 has taken a fresh twist.
Red Hat engineer Matthew Garrett, one of the first to flag up the Unified Extensible Firmware Interface issue, has blogged that Microsoft's rules for certified Windows 8 hardware do not make it easier to boot Linux despite what some have claimed.
Redmond's requirements mention the existence of a boot option for PCs that can fire up a digitally signed Linux kernel. This custom boot-mode would allow the user to modify the contents of the machine's Secure Boot signature database and the platform key (PK) that verifies kernels during system start-up.
This, according to Garrett, implies the user can install their own keys, including ones provided by Linux vendors, to run whatever operating system they want. While this sounds conceptually simple, Garret points there are lot of practical details missing, a fact that will make working with Microsoft's key infrastructure harder.
Garrett wrote that this might dissuade people from bothering to install Linux on a Windows 8 PC:
People have spent incredible amounts of time and effort making it easy to install Linux by doing little more than putting a CD in a drive. Asking them to go into the firmware and reconfigure things adds an extra barrier that restricts the ability to install Linux to more technically skilled users.
Garrett adds that among the details missing from Microsoft's documents is a description of a user interface to enable people to install and manage keys, meaning they must fiddle around by hand in the firmware settings. This lack of definition also makes it possible for competing PC makers to confuse the situation further by coming up with their own vendor-specific UIs. Also, the key format itself has not been described and there's no description on how to use custom mode for unattended remote or automated installs of Linux on a Windows 8 machine.
Garrett first blogged about Microsoft's Windows 8 Secure Boot in September last year. The normally non-communicative executive leading Windows 8, Steven Sinofsky, actually responded with a blog post claiming the "customer" would be in control of their PC with UEFI Secure Boot. Garrett shot back saying that by "customer" Microsoft must mean the PC manufacturer because there's no guarantee ordinary punters would get the signing keys.
It's the keys that are critical to thwarting hackers by stopping them from installing unauthorised malware - such as rootkits - that start before the operating system and undermine a computer's security. It will be left to PC and device makers to follow Microsoft's UEFI requirements; they have the power to decide whether to go with custom or standard boot-mode on their machines. That said, Microsoft's hardware certification requirements don't offer the option of custom mode to makers of ARM devices. On page 116 of the requirements:
On an ARM system, it is forbidden to enable Custom Mode. Only Standard Mode may be enabled.
21. MANDATORY: Enable/Disable Secure Boot. On non-ARM systems, it is required to implement the ability to disable Secure Boot via firmware setup. A physically present user must be allowed to disable Secure Boot via firmware setup without possession of PKpriv. Programmatic disabling of Secure Boot either during Boot Services or after exiting EFI Boot Services MUST NOT be possible. Disabling Secure MUST NOT be possible on ARM systems.
By targeting ARM, Microsoft hopes to punt its Windows operating system onto tablets. Some have said this might mean Windows 8 will be locked to specific hardware, and therefore only OEMs can do the fiddling. Microsoft is not commenting.
It's a reasonable line of thought and reinforces the thinking that Windows 8 on ARM will be for specific-use tablets such as readers – like the Kindle – that are typically deliberately and firmly locked down by the maker for various commercial and technical reasons.
Another possibility is this: Microsoft is taking no chances on those first Windows-8-on-ARM machines falling over, thereby avoiding embarrassment and backlash. Lockdown is a policy Microsoft has implemented elsewhere – notably on the first Windows Phone 7 phones, which were blocked to third-party apps on version 7.0 and only opened up with 7.5, codenamed Mango. ®