Get Speed-Booting with an Open BIOS 235
An anonymous reader writes to mention that IBM Developer Works has a quick look at some of the different projects that are working on replacing proprietary BIOS systems with streamlined code that can load a Linux kernel much faster. Most of the existing BIOS systems tend to have a lot of legacy support built in for various things, and projects like LinuxBIOS and OpenBIOS are working to trim the fat.
Benefits from experience (Score:5, Informative)
Re:Flash drives (Score:5, Informative)
I always wanted to have the same capability for my notebook. Sigh...
Re:Disk-on-Chip Linux (Score:3, Informative)
Yeah, but who would do such a thing? http://www.phoronix.com/scan.php?page=article&item=870&num=1 [phoronix.com]
Re:I wouldn't touch this! (Score:3, Informative)
Fortunately, you don't need exact matching hardware to recover from a botched BIOS update if you have a socketed BIOS chip. The flash memory your BIOS is stored on can be easily removed, placed in someone else's computer with a compatible socket (It can be a whole different architecture, even), and reprogrammed with the vendor's BIOS using Linux+Windows compatible utilities such as Flashrom ( http://linuxbios.org/Flashrom [linuxbios.org] ), vendor-provided flash utilities which usually run in DOS, or through Linux MTD. There are even services set up to do it for you ( http://www.badflash.com/ [badflash.com] ) if you don't have access to another mainboard with a compatible socket.
Unfortunately, BIOS upgrades can become necessary after purchasing a machine if only to support more advanced CPUs (Remember the transition to dual-core CPUs?), to get power management right, etc. The lesson: If you're worried about BIOS updates, buy a motherboard with a socketed BIOS.
Re:Did you ever notice? (Score:3, Informative)
Re:What about Abstraction? (Score:3, Informative)
These guys are simply taking advantage of the fact that the BIOS is an unusably bad abstraction. Linux doesn't make BIOS calls, nor does Windows (since before Windows 2000). If you're booting Linux and XP, your BIOS is doing a bunch of slow hardware autodetection, and then passing the baton to your kernel, which ignores that and does its own faster and more reliable hardware detection.
In that sense, if you really want the BIOS abstraction layer, the first step would be to write a reliable one. Putting Linux in there is the logical first step. If you want to hack LinuxBIOS to do the full hardware autodetection, and then hack Linux to trust hardware info from LinuxBIOS, you're welcome to do so (though the benefits are unclear).
We broke this abstraction in Linux for reliability, not performance. If somebody wants to remove some useless old cruft to increase performance for free, I have no problem with that.
Re:Deck chairs on the Titanic (Score:5, Informative)
We're working on it... [ubuntu.com]
Re:Flash drives (Score:3, Informative)
The later versions (or, at least, the A500 and A2000 I used) stopped hard coding Kickstart on a chip, and you then needed to load the entire OS from a single 1.5MB floppy. Or, for the more affluent, a hard disk.
Re:What about Abstraction? (Score:4, Informative)
The BIOS is essentially a set of low-level device drivers for the motherboard and basic peripherals (keyboard, display). Overclockers don't care about it, as long as it works.
The "CMOS Setup", or more appropriately System Setup, is an interface to configure the motherboard's features. The fancier ones offer many tweaking options, some even have a minimal Linux OS like the Asus P5K3 Deluxe (extremely handy for pre-boot stuff - or web/media browsing). Overclockers love big feature-rich control panel on their board as they allow them to tweak their system to further heights, and offer added functionality like built-in flashing (from a USB key or hard drive) and "smart" overclocking which is like the opposite of Intel Speedstep
Re:Why not EFI? (Score:3, Informative)
I choose freedom.
Excuse me? (Score:1, Informative)
Heh. I wish that were true. Cisco IOS depends SIGNIFICANTLY on what ROMMON reports, and that's a modern OS (with BSD roots). I would say Modern well designed OS's don't depend on what the BIOS tells them. If you ever looked at the design of ROMMON, you'd break out laughing. It's a classic example of an over-engineered design made by substandard talent. Honestly, if you ask any semi-intelligent technical question on Cisco's internal rommon mailling list, you will usually be greeted with by silence. Simply because the current engineers simply don't know.
I suspect it's because of Cisco's massive importing of H1-Bs, as that seems to make up most of the crowd dealing with ROMMON, but I digress.
Also note well that all OLD UNIX's didn't depend whatsoever on the "ROM BIOS". Hell, originally you had to either flip the right switches, or type in the bootstrap code yourself to boot a UNIX kernel (on the DEC PDP-era machines).
The key point here is that the ORIGINAL model for the kernel was not to use the ROM BIOS at all. And this applies to the first UNIX on the 286 and the 386 PC's.
If you look at the Linux kernel code, you'll see that it's only been lately (within the past 5 years or so), that some people have been adding code for various architectures to depend on specifics from the ROM BIOS (and I don't just mean APCI).
Re:Deck chairs on the Titanic (Score:2, Informative)
Also, ifplugd is extremely simple to install and requires extremely minimal configuration. I used this in college for a number of years without issue before all this fancy new stuff.
Re:Flash drives (Score:2, Informative)
Re:I wouldn't touch this! (Score:3, Informative)
No it can't.
First, it's been several years since I saw a motherboard with a socketed Flash chip, and even then, it was only the dirt cheap OEM boards from the likes of Dell/HP/etc, while the retail boards used a socket.
It's actually pretty easy to buy a replacement Flash chip, or salvage one from a dead system, and do a little hot-swap trick to Flash it with your current BIOS image for back-up/recovery purposes.
Secondly, the better motherboard manufacturers (MSI, Asus, Gigabyte) have included recovery methods for a few years now, either in the form of a dual Flash chips, or a built-in mini-BIOS of sorts, that can read an image from a floppy disk and flash the BIOS, even if you otherwise can't boot.
Apple's launchd (Score:2, Informative)
Re:Flash drives (Score:3, Informative)
1. Three Ethernet controllers.
2. VGA contoller.
3. Two RS-232 controllers.
4. Flash drive.
5. PCI bus.
6. WiFi card.
And it starts booting Linux kernel in less than a second after power on.
I don't see why my notebook should take about 8 seconds JUST TO START BOOTING THE KERNEL.
Current HD players are too brain-damaged, so it's not a good comparison.
Re:Flash drives (Score:1, Informative)
Amiga 1000 had to load KickStart from floppy, and all other Amigas have it on chip.
there are now some hacks on Aminet to add ROM to Amiga1000