jasonwryan.com

Miscellaneous ephemera…

Hi-UEFI Way

Just before Christmas my EeePC 901 started to behave erratically. Rather than prolong the final throes, I decided to replace it and, after looking around and having played with a colleague’s Samsung Series 9, I decided that I would swallow my pride, pay the Windows tax and opt for one of these sleek, fast little notebooks. Given my experience with it over the last six to eight weeks, I am confident that it was a decision that I am unlikely to regret.

The machine came with Secure Boot enabled and running Windows 8.1 After sedulously ignoring the mounting number of posts on the Arch boards that had UEFI in the title, initially convinced that it had something to do with Apple hardware and therefore would be unlikely to impact on me at any point in the future, I now found myself in the position of having to understand all of the disparate elements involved in UEFI booting.

This proved to be a non-trivial task. It is not that there is insufficient information available; quite the opposite. The Arch Wiki has a typically thorough entry on UEFI; the real challenge is revealed when you scroll to the bottom of that page to the reference links where you begin to reach an appreciation that this isn’t a drop-in replacement for Grub in the way Syslinux was, for example. This is a whole new booting ecosystem.

I wanted a LVM on LUKS setup and, after reading a lot more documentation on UEFI bootloaders, GUID Partition Tables and EFISTUB2 than I had bargained on, I felt reasonably well equipped to proceed. And while this was an admittedly time consuming (and sometimes confusing) process, I believe it was worth it.

Once I had a reasonable grasp of the conceptual model—and I am convinced this is the single biggest hurdle in this process—I chose the EFISTUB boot approach with gummiboot, as the boot manager; mostly because it seemed the simplest approach (the name may also have been a factor).

Armed with all this new knowledge, I embarked on the install process. It didn’t take long at all. Mostly because I couldn’t boot in UEFI mode from the USB drive.

Turns out a couple of things were thwarting me; one I had disabled Secure Boot in the UEFI menu, but had neglected to disable the fast boot option. Secondly, and more worryingly, I kept encountering kernel panics once I had got the machine to boot. Seems that booting in UEFI mode triggers a nasty bug with the samsung_laptop module.

Once I could boot from the USB drive, I was able to successfully complete the install. Rather than include a blow-by-blow account of that process here, I have uploaded a gist with the details, for the morbidly curious or preternaturally bored.

The whole process, for me, epitomised what Arch is really about. No matter how comfortable a point you reach with your understanding of the tools you use, the rolling release model constantly challenges you to adopt and adapt to new technologies. Sure, I could have just opted to boot in regular BIOS mode, but what would be the point of that? I wouldn’t have learned anything.

The other thing that quickly became apparent is that, contrary to some commentary on the boards about the removal of the AIF, the new install scripts are quite superb; simple, direct and quite unambiguous, the whole install procedure now feels a lot more Arch-like. The developers have done a great job with these tools.

Notes

  1. Surely the worst operating system, at least in terms of the user interface, I have had the misfortune to encounter (and I include Vista and Ubuntu’s Unity in that cavalcade of fail)…

  2. I’ll post more on the voluminous documentation around this, and other aspects of GNU/Linux, in the coming weeks.

Comments