BIOS Will Be Dead In Three Years 532
Stoobalou writes with news that MSI is planning a big shift towards UEFI (universal extensible firmware interface) at the end of 2010, possibly spelling the beginning of the end of the BIOS as we know it. "It's the one major part of the computer that's still reminiscent of the PC's primordial, text-based beginnings, but the familiarly clunky BIOS could soon be on its deathbed, according to MSI. The motherboard maker says it's now making a big shift towards point-and-click UEFI systems, and it's all going to kick off at the end of this year. Speaking to Thinq, a spokesperson for the company in Taiwan who wished to remain anonymous said, 'MSI will start to phase in UEFI starting from the end of this year, and we expect it will be widely adopted after three years.'"
Wow (Score:5, Interesting)
That is the worst reporting on EFI I've ever read. They spend half the article trying to make the false claim that the switch from BIOS to EFI has anything to do with its visual interface (I was using a pixel-and-mouse-based GUI BIOS 15 years ago and I was using a text-only EFI interface just a couple days ago). Then they end with a quote about how the biggest difference between BIOS and EFI is that EFI is written in C? How would that have any relevance? Maybe they were trying to say that EFI requires the execution of architecture-independent code (the EFI Bytecode)?
Sadly there was no mention of Open Firmware, either. Is there any reason Intel made their own Open Firmware knock-off beyond NIH syndrome?
BIOS has been dead for 10+ years already... (Score:5, Interesting)
The PC BIOS started out as a simple nifty way to abstract away the underlying hardware from the operating system so that we didn't have to have drivers for every little thing.
Nowadays, we have drivers for every freaking little thing.
Why? The BIOS failed to evolve into the 32bit era.
It would be great if there could be a piece of flash memory on the motherboard which contains all the Basic I/O driver for each of it's peripherals... And for all expansion cards to have a bit of flash memory for their drivers.
Then the operating system (Windows/Linux/whatever...) can just use all the devices through their firmware driver.
(Fed up of drivers)
Oh, I hope not (Score:4, Interesting)
I looked into EFI a bit (the technical details of GPT partition tables), and it just screams overengineering to me. GPT, specifically, bothers me because it allows partition records to have variable size and even to cross sector boundaries, which makes bootloaders way harder to implement (that was the context in which I did this resarch). Despite all this, there is an upper bound to the number of partitions you can have (512 I think), which is not the case in DOS tables.
Now, I don't know all that much about the rest of EFI, but I have gotten the impression that things are the same here. It contains a complete driver infrastructure, with drivers that are guaranteed to be broken and incomplete, and reimplements basically everything. And what is the point of all of this? Prettier boot screens.
It's not even the right way to go about it! That would be to load Linux in the simplest way possible (for which BIOS is enough) and show a pretty menu using all of the available software and libraries, and switch OS using kexec (or equivalent in other OSs). If I were to write such a program, I could boot CDs, netboot, do power management (pretty off button) and have pretty 3D graphics, and perhaps even use a library like GTK. Then, what would be the point of all the stuff going on in the EFI? DRY is right. Let that thing die.
Bluetooth Keyboard/Mouse? (Score:4, Interesting)
Will I be able to change BIOS/UEFI settings using my bluetooth keyboard/mouse, or will I still have to plug in my old keyboard whenever I want to configure something?
Re:about time (Score:1, Interesting)
Macs went to EFI [wikipedia.org] over four years ago. Hard to believe it took the windows machines this long to take the leap?
BIOS is the bane of the PC service tech. That's where manufacturers lock up the hardware and prevent you from being able to fix it or work on it. Good bye, and good riddance.
"Windows machines"
I think you mean PCs, we don't all use Windows you know.
Finally! (Score:3, Interesting)
It's about time we drop the kludge that is BIOS. EFI is also required for Windows to be able to boot from GUID partition table drives which in turn are going to be needed to handle upcoming huge drives that exceed BIOS LBA limitations.
I for one will not miss the BIOS. It's about time commodity PCs catch up to standards that Apple has implemented way back in 2006 (all Intel Macs use EFI and GPT).
Re:whats old is new again (Score:5, Interesting)
http://www.funkygoods.com/schwarzschild/2008_11/ami_titan_05_s.jpg [funkygoods.com]
Re:Oh, I hope not (Score:2, Interesting)
I didn't know coreboot supported loading linux directly. For those of us stuck without it, a bootloader with linux support that fits in the MBR would be a good fit in the boot stack that I described previously. Coincidentally, I wrote such a bootloader (which is when I read up on EFI), and this seems as good a place as any to give it away. Here it is. [pastebin.com]
Re:A GUI for the motherboard? (Score:5, Interesting)
EFI can have BIOS compatibility modules installed. So it *MIGHT* cause compatibility issues, or it might not.. depends on the motherboard manufacturer, and if they include BIOS compatibility. You may also be able to add BIOS modules later.
I wish the whole Intel/Windows/PC .... (Score:2, Interesting)
If the hardware vendors got MS on board, they could change it and subsequently create some new machines with much better performance and the subsequent sales to go with it - it would bust the industry out of it's stagnation.
Re:So .... (Score:3, Interesting)
IIRC EFI also defines a standard way for the OS to update settings. So you could update BIOS settings on the fly without having to reboot.
Quite what the benefit of this is when any modern OS basically ignores the BIOS as soon as the kernel has started running is a separate issue entirely....
Re:about time (Score:3, Interesting)
Good bye, and good riddance.
I agree 100%. I have a Lenovo Ideapad Y710 and I would like to punch in the face whoever wrote its BIOS. I'd also like to kick in the junk whoever his/her boss was who approved it.
This laptop is capable of VT-x and was ADVERTISED with it as a feature, but it's disabled in the BIOS and can't be turned on.
This laptop is incapable of hibernating and sleeping in any OS except the crappy Vista it came with. A few versions of Ubuntu ago I was able to patch my DSDT table using the Intel compiler and then I was finally able to hibernate, but doing so still took just as long (3 minutes maybe?) to boot, so it was useless anyway. Since then the linux kernel people took out the patch that allowed an alternate DSDT to be used.
The Intel compiler says I have 12 errors in my DSDT alone, and who knows how many other BIOS tables have screwups that the Microsoft compiler doesn't care about because it knows how to get around the errors when booting a Microsoft system. According to Lenovo, Vista is the only supported OS, so if Vista doesn't have problems, they're "not bugs". Bullshit.
Anyway, enough ranting. The keyword behind UEFI is the U, as in Universal. It's still a pretty vague concept but it is definitely an area that could use some improvement, and I could see more operating systems than just the "vendor supported" one benefiting from such a system.
Re:I read the article... (Score:5, Interesting)
Very uninformative. It sounds like UEFI is a BIOS (basic input-output system), only it's mouse/graphics based rather than text based. What am I missing here?
If by "BIOS" you mean "the system which loads the OS" then indeed UEFI is just a BIOS. There are also loads of other such systems, like the OpenFirmware (OFW) which, from playing around on my OLPC XO-1, can do traditionally high-level things such as scanning for Wifi networks, displaying a live Webcam image, interacting with the mouse, etc. There is also CoreBoot (formerly LinuxBIOS) which was designed for boot speed (on supercomputers), and there are probably loads more. In fact, my Amiga 1200 from 1992 had a boot menu which used the same GUI as the OS (like this http://www.gregdonner.org/workbench/images/wb_30_1.gif [gregdonner.org] ), since part of the OS was stored inside onboard chips.
"BIOS" also has another, more formal meaning though, which is the programming calls it implements. Using these calls within a piece of code will work on any system with a BIOS, but not necessarily on any of the alternatives. However, they can be emulated on top of these other systems without anything noticing (like BootCamp does).
Re:Security (Score:5, Interesting)
Re:Finally! (Score:1, Interesting)
Are there a lot of 128PiB drives coming our way, that I don't know about? Because that's what the 48 bit LBA we've had since 2002 can support.
The biggest commercially available drives I've seen are 2TiB, with TDK and WD claiming that 3TiB drives will be out later this year and Hitachi claiming 4TiB drives will be out in 2011.
DRM with UEFI (Score:5, Interesting)
As far as I know, the major "feature" of UEFI over the original EFI is signed modules, ultimately allowing for control over what may be booted. The original EFI, while still bloated and overly complex (though considerably less so), would have been a clear improvement over the BIOS. However, the current incarnation of UEFI may be downright dangerous to our freedoms.
As bad as the BIOS is, at least we can run the OS of our choice. With UEFI, we still may--for now. Unfortunately, that "feature" may be removed in the future, just as Sony did with Linux on the PS3.
Or at least that is how I understand it. There was a lot of concern over this in the past, but strangely, I haven't seen much recently. I would love to be rid of the BIOS, but something like coreboot [coreboot.org] would be much better, as it would allow for a completely open platform, and is focused on actually booting the machine.
Dumbing down the bood is a GOOD idea. (Score:3, Interesting)
Am I the first to say that dumbing down low level config is a bad idea?
IMHO dumbing down the boot is a GOOD idea. There should be as little as possible between the raw hardware and the OS to tamper with the user's control of his system.
(Example of such tampering: Intel AMT - a built-in man-in-the-middle attack on the machine, sold to corporate IT departments as a FEATURE.)
But this stuff is not dumbing down (i.e. stripping down) the BIOS. It's adding MORE JUNK. Breaking the OLDER junk is incidental to doing a poor job adding the new crud (or deliberately suppressing the older functionality).
Re:about time (Score:1, Interesting)
BIOS is the bane of the PC service tech. That's where manufacturers lock up the hardware and prevent you from being able to fix it or work on it. Good bye, and good riddance.
EFI is the same, only worse. In one of his more polite comments about BIOS writers, Linus Torvalds wrote: "BIOS writers tend to have been on pain medication for so long that they can hardly remember their own name". Now with EFI they have to get vastly more things right.
Anyway, Linux will just continue on the same path it has always taken with the BIOS: Try to emulate Windows as closely as possible, because motherboard vendors get product returns when Windows doesn't boot.
Re:So .... (Score:3, Interesting)
OpenFirmware (or OpenBoot) is fairly extensible.
One thing with all of these... they all support a much more flexible device driver system. BIOS device drivers are a nightmare to deal with nowadays, whereas OF and EFI can run halfway decent drivers - the ultimate goal being, you can just install a driver for an "EFI-compatible graphics card," and whenever you upgrade your graphics card, EFI calls take care of everything.
Oh, and both EFI and OF are CPU architecture-independent in theory (and, EFI is architecture-independent in practice - the same card, with the same drivers, IIRC, will work in Itanium or x86, but a card that works in an OF Mac may not work in an OB Sun SPARC system, due to drastically different underlying system architectures.)
Re:So .... (Score:4, Interesting)
I quite like Linus on EFI: [kerneltrap.org]
Re:Security (Score:4, Interesting)
There are already BIOS rootkits (or malware of some sort that tires to re-infect you), and at least UEFI will attempt to address the issue (most PC motherboard BIOSs can be reflashed from Windows; a fact that has not escaped the notice of botnet writers. Ultimately we need something like trusted computing to lock down the BIOS, and as I understand it UEFI has some flexibility, so it doesn't have to be TPM-based.
Re:I read the article... (Score:1, Interesting)
Not only is it more complex, it does not "go" away when the OS run. The net result is that it fragments memory and keeps a large amount of memory for itself.
That's progess!!
Re:Finally! (Score:4, Interesting)
Interesting counterpoint - I mean that, not being sarcastic.
Maybe EFI isn't a golden solution, I'm not familiar enough with EFI on a low level to comment. Perhaps I just blindly support it because I just want 'SOMETHING' to replace BIOS. Specifically I like that the Mac platform can be entirely managed from the OS, ie) setting boot device priority, power management etc along side the rest of your OS settings. The whole PC model of having certain settings configured only in BIOS and others via the OS seems rather odd by modern standards. It gets quirkier when there are overlaps in features between BIOS settings and OS settings (power management being the best example).
I'd also like better features on power-up. Specifically, as I still setup a few headless PCs for BSD and Linux servers, it annoys me that serial console is not available until, at a minimum, you reach the bootloader of the OS. All 'settings' in BIOS are completely inaccessible in a headless serial environment as things currently stand.
I also rather enjoy the 'target disk mode' on Macs that will instantly turn your system into an external firewire attached drive on startup. This is extremely handy for recovering files from an unbootable or otherwise corrupt OS without having to physically remove the drive.
Adopting EFI wouldn't necessarily mean we gain such features, but it seems to me EFI would make such features more feasible. I guess in summary, I'm not necessarily pro EFI, but I want to see something far more modern and capable replace the obsolete BIOS we are currently stuck with.
Perhaps eliminating BIOS and adopting EFI isn't even necessary to unify things and address the limitations, I may just be equating the two even if they are not necessarily mutually inclusive.
Regardless, the PC world needs something better than BIOS, I'm not aware of any alternatives to EFI that may better accomodate this.
Re:BIOS has been dead for 10+ years already... (Score:3, Interesting)
Well, the logic at that time was that the driver only exposed an API at a low level and wasn't buggy.
So, there wasn't a need to update the BIOS all the time.
Why exactly should drivers require frequent updates? When was the last time you flashed the firmware on your hard drive, or whatever?
In any case, the approach has its limitations as you indicate.
Re:A GUI for the motherboard? (Score:4, Interesting)
Re:A GUI for the motherboard? (Score:1, Interesting)
And replace them with even weirder restrictions. The EFI interface is so pointer heavy as to be completely unusable unless
you are running in it's native mode. And it's native mode is 32bit or 64bit based on the whim of the implementor.
DOS is usable just about anywhere. EFI might be speced everywhere but the running EFI code even on the same architecture
between different processor generations is a nightmare.
Apple uses EFI in all intel based machines (Score:5, Interesting)
Apple has been using EFI in its intel based Macs [wikipedia.org] since 2006. The EFI firmware allows the use of emulation modules so that, as an example, Mac EFI has a BIOS emulator allowing Macs to boot into Windows. On Macs the BIOS emulator is not perfect as there is no way you can actually edit or modify it without running the risk of bricking your machine after damaging the firmware, but there is an open source EFI interface for Macs called rEFIt [sourceforge.net] that allows you to boot to a boot menu from where you can boot into Mac, Windows or Linux for example.
Amit Singh has written a book on prgramming the EFI interface on Macs [osxbook.com] which, for anyone considering getting into EFI programming is a good point to start with. Armed with a second hand Intel Mac Mini from ebay, you could get a head start by the time MSI release their motherboards.
Re:I read the article... (Score:3, Interesting)
My point was just that, as in the case of USB_HID, a standard that is too flexible ends up not defining enough to save you from hardware-specific drivers. Outside of the (mostly) safe realm of mice, keyboards, and basic gamepads, "USB_HID" isn't much more of an assurance of "no 3rd party driver needed" than "PCIe device" is.
Re:A GUI for the motherboard? (Score:4, Interesting)