Live data from Hacker News

EFI Sucks (2012)

plus.google.com

61–70 of 76 posts

Re: EFI Sucks (2012)

#61
post #40

The one thing I really love about EFI on non-macs is that you don't need a boot loader. You just compile your kernel with an EFI stub and whatever you want in the initrd and then select it with the firmware GUI. That's nice

I didn't understand a lot of what you said. Any sources?

The Arch wiki in the sibling comment is a good resource for learning a lot. I'll try to (over)simplify the short version here:

With the old BIOS-based boot process, the computer (the hardware/motherboard; not the operating system you ran on it) would, when it started up, look around for installed operating systems to boot. It wouldn't look too hard: on each hard disk, it would look in one (or, if you were lucky, four) places for a specially-prepared segment outside of the data installed by the operating system. This segment isn't a file or something that you can browse to normally on the drive (though some things shimmed it so it appeared thus); it's a non-file special segment outside of the OS's normal data/files. That segment (well, segments, but still) had to be set up just so otherwise the computer (BIOS) wouldn't find your OS to boot it. Doing this was often tricky, even more so when you needed multiple operating systems to be bootable. Doing this was also pretty inelegant, since if you wanted to stick an operating system on a sub-partition of a disk, as part of the installation process you had to mess with data that affected everything on that disk, not just what was in the sub-partition. It worked, and was simple, but it was the equivalent of being forced to modify a single central global variable in a software project every time one sub-part (file, function, whatever) of that project wanted to use a new library. For an excellent writeup of the gritty details of the BIOS/MBR startup process, see this document: https://neosmart.net/wiki/mbr-boot-process/

UEFI, put most simply, looks around for installed operating systems a lot harder than the BIOS method did. It does a lot more than that, but the benefit GP was describing accrues from UEFI being much more capable in terms of discovery: instead of checking a single global prepared location for bootable OSes, UEFI can look in the files on the drive and do the intuitive thing: "looks like these files are part of an operating system; I'll give the user an option to boot from it".

This doesn't always work perfectly, and there's a lot of complexity (and criticism) I'm hand-waving away here, but that's the gist of the difference.

Sorry, turned out to be a not-so-short version.

Re: EFI Sucks (2012)

#62
post #40

The one thing I really love about EFI on non-macs is that you don't need a boot loader. You just compile your kernel with an EFI stub and whatever you want in the initrd and then select it with the firmware GUI. That's nice

I love efi for a similar reason: I still use bootloaders, but I don't have to chainload them or otherwise slow down my boot process with a menu asking which OS I should start.

Default boot into OS #1. If I want any other OS, I manipulate efi bootnext (efibootmgr -n #### && reboot).

So much simpler and more efficient.

Re: EFI Sucks (2012)

#63

I'll go against the grain here: I go out of my way to use UEFI over BIOS, because it Just Works for me. When I got my first UEFI-using notebook in 2012 (same year as the submission), things were a bit rough because the Arch wiki did not quite know what it was talking about, and the Arch ISO was not UEFI-bootable, so you had to use some trickery to install an UEFI bootloader, but even then, it only took me two hours t…

Now try to install arch to a bootable USB stick from your UEFI booted system, and see all hell break loose. I boot UEFI, but it's just so bloody cumbersome and fragile. The entire concept of having boot configuration in NVRAM is terrible .

Even more fun when OEMs put what should be read only ROM variables in NVRAM, and they get nuked...

Re: EFI Sucks (2012)

#64
post #36

Earlier quoted context omitted.

> but a pretty obvious retort is that it's necessarily complex I would like to offer, as a counter example, every micro kernel ever.

You mean all those micro kernels that are in widespread use and see huge market shares? The closest relative is NT and that is a hybrid, not purely micro. Modular and hybrid kernels (Linux and NT respectively) offer better external vs internal complexity tradeoffs; Linux and NT are internally complex since they do all the hard stuff, micorkernels are externally complex since someone else needs to do the hard work. Mi…

QNX is reasonably widely used and a quite elegant system. Among other things, it runs the user-facing electronics of several car brands.

Re: EFI Sucks (2012)

#65
post #58
post #35

Earlier quoted context omitted.

"i would just like to get error messages that actually said something more than something went wrong. yea, no shit something went wrong, i already know that, but what and why and how do i fix it are questions i want answered. i know the code knows what went wrong, so just tell me." ..and then a whole bunch of other comments with you bitching and being entitled about stuff. Hi pot!

I'm sorry, but you won't get that. That isn't how computer's work. There is no magical "understanding" available through a computer to tell you WHY an error occurred. It is a computing device. It can tell you THAT a problem occurred, and WHAT it was doing at the time. With a debugger, you are free to ask the WHAT question at many points within the program to figure out WHERE the problem is coming from. But the answer…

wut?

Re: EFI Sucks (2012)

#66

I'll go against the grain here: I go out of my way to use UEFI over BIOS, because it Just Works for me. When I got my first UEFI-using notebook in 2012 (same year as the submission), things were a bit rough because the Arch wiki did not quite know what it was talking about, and the Arch ISO was not UEFI-bootable, so you had to use some trickery to install an UEFI bootloader, but even then, it only took me two hours t…

Now try to install arch to a bootable USB stick from your UEFI booted system, and see all hell break loose. I boot UEFI, but it's just so bloody cumbersome and fragile. The entire concept of having boot configuration in NVRAM is terrible .

Not to turn this into a support thread but this weekend I tried to install Arch on a new, UEFI-enabled laptop and I've been stymied so far because I can't get the laptop to recognize my Live USB. I've built it with Rufus, dd for Windows, and Easy2Boot all with the same result (no bootable device) even though it works on another machine. Could it be because I created the USB on a PC using UEFI?

Re: EFI Sucks (2012)

#67

Earlier quoted context omitted.

Now try to install arch to a bootable USB stick from your UEFI booted system, and see all hell break loose. I boot UEFI, but it's just so bloody cumbersome and fragile. The entire concept of having boot configuration in NVRAM is terrible .

Not to turn this into a support thread but this weekend I tried to install Arch on a new, UEFI-enabled laptop and I've been stymied so far because I can't get the laptop to recognize my Live USB. I've built it with Rufus, dd for Windows, and Easy2Boot all with the same result (no bootable device) even though it works on another machine. Could it be because I created the USB on a PC using UEFI?

Huh? I just `dd` the official image onto a USB drive and it works 100% of the time, with various UEFI-using machines.

(Except for that one Gigabyte mainboard which I returned upon finding out that its v1 firmware will only boot Windows 8.1. Not even Windows 8.0. There was a firmware update that fixed the issue, but without a bootable OS, applying it is a chicken-and-egg problem.)

Re: EFI Sucks (2012)

#68

I'll go against the grain here: I go out of my way to use UEFI over BIOS, because it Just Works for me. When I got my first UEFI-using notebook in 2012 (same year as the submission), things were a bit rough because the Arch wiki did not quite know what it was talking about, and the Arch ISO was not UEFI-bootable, so you had to use some trickery to install an UEFI bootloader, but even then, it only took me two hours t…

> it only took me two hours to figure out partitioning and install the bootloader This doesn't read like a success story to me.

Immediately before, it mentions that this was 5-6 years ago and that there was no documentation available at the time, and immediately after it says that the situation is much better now.

Re: EFI Sucks (2012)

#69
Is EFI the system that my newer motherboards use when booting up?

Is he talking about the system that has replaced grub on most of my machines with a more reliable one that's built into the hardware?

In 2012, EFI/UEFI was pretty unreliable because the implementations were bad and the software support was terrible. Nowadays, I find it preferable.

Post reply on HN