BIOS Will Be Dead In Three Years
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.'"
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?
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)
No sig. Move along - nothing to see here.
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.
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?
Macs went to EFI 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.
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).
http://www.funkygoods.com/schwarzschild/2008_11/ami_titan_05_s.jpg
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.
If you need web hosting, you could do worse than here
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.
RIP America
July 4, 1776 - September 11, 2001
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....
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.
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 ), 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).
The sheer number of repetitions of "trusted computing" and "trusted platform" in that document make the hair on the back of my neck rise.
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 would be much better, as it would allow for a completely open platform, and is focused on actually booting the machine.
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).
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
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.
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.)
I quite like Linus on EFI:
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.
Socialism: a lie told by totalitarians and believed by fools.
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!!
Glad that got linked, UEFI is really more an extension of the BIOS. So saying it "will be dead in three years" is somewhat misleading.
On the Oregon Cost born and raised, On the beach is where I spent most of my days
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 has been using EFI in its intel based Macs 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 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 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.
That seems logical enough(and, indeed, my HID-reporting UPS shows up in GNOME panel as a battery device, complete with historical charge statistics and stuff, upon the installation of an appropriate driver).
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.
I have an DEC Alpha box from the late 1980's that does just that. In 64-bits of course. The interesting thing is that the firmware includes a fairly complete OSF/1 UNIX implementation right there in the chip. This means that you can boot into a straight Sys V , complete with terminal and network, without even having anything on the disk. It actually works pretty good.
C|N>K