Matthew Garrett ([personal profile] mjg59) wrote,
@ 2011-11-03 01:47 pm UTC
  • Previous Entry
  • Add to Memories
  • Tell someone about this!
  • Next Entry
Entry tags:advogato, fedora
This story has been floating around for a week or so. The summary is that someone bought a system that has UEFI and is having trouble installing Linux on it. In itself, not a problem. But various people have either conflated this with the secure boot issue or suggested that UEFI is a fundamentally anti-Linux technology.

Right now there are no machines shipping to the public with secure boot enabled. None at all. If you're having problems installing Linux on a machine with UEFI then it's not because of secure boot. So what is actually causing the problem?

UEFI is a complicated specification, with 2.3.1A being 2214 pages long. It's a large body of code. There's a lot of subtleties. It's very easy for people to get things wrong. For example, we've seen issues where calling SetVirtualAddressMap() resulted in the firmware referencing boot services code, a clear violation of the spec on the firmware authors' part. We've also found machines that failed to boot because grub wasn't aligning its stack properly, a clear violation of the spec on our part.

Software is difficult. People make mistakes. When something mysteriously fails to work the immediate assumption should be that you've found a bug, not a conspiracy. Over time we'll find those bugs and fix them, but until then just treat UEFI boot failures like any other bug - annoying, but not malicious.


(Read 13 comments) - (Post a new comment)
(Threaded) (Flat)

Re: HCL?


(Anonymous)
2011-11-09 08:10 am UTC (link)
Having worked with BIOS vendors: yes, they do fix bugs when identified, quite happily even, while a BIOS remains in development. Once a BIOS gets released, though, they go into "any change might cause a regression or otherwise break something" mode, and only accept critical bugfixes.

(Reply to this)  (Thread from start)  (Parent



(Read 13 comments) - (Post a new comment)
(Threaded) (Flat)