Tip of the Trade: OpenBIOS
The next time someone tells you that closed, proprietary software development is innovative, point them to the BIOS of their x86 computers. There are two main commercial PC BIOS vendors; neither has advanced much since 1990.
|Despite the many seismic shifts x86 computing has undergone in the past 15 years, the BIOS has remained relatively unchanged. With OpenBIOS, your computer will be ready for the 21st century.|
So we're stuck with closed, inflexible BIOSes that assume MS-DOS is the OS of choice and that force operating system developers to write silly work-arounds to compensate for the deficiencies of these antique, inflexible BIOSes. Consequently, we are stuck with long boot-times, inferior power management and the ever-unpopular specter of DRM lurking in the wings. In fact, DRM-enabled BIOSes are already on production systems.
Once again, the open source world rides to the rescue, delivering OpenBIOS. OpenBIOS aims to provide open source firmware for several hardware platforms: x86, AMD64, PowerPC, ARM and MIPS. IBM, Apple, Sun and many others have already incorporated OpenBIOS into their commercial systems. One famous example of a successful OpenBIOS/LinuxBIOS implementation is the One Laptop per Child (OLPC) program. These laptops boot in a few seconds and have battery life measured in days. Embedded device vendors are using OpenBIOS in things like routers and set-top boxes.
The advantages of an open BIOS are many. Vendors can freely optimize and upgrade their BIOS implementations and weed out the cruft. It's not necessary for the BIOS to probe hardware and load device drivers, probe and initialize memory, initialize the CPU cache, build a table of PCI devices, and so forth, because modern operating systems do all that. But all of that gets done twice with the traditional commercial BIOSes, which is why PC boot times are so slow.
So should you give it a try? Sure on a nothing-to-lose system until you become familiar with it. Any mistakes in flashing your new BIOS could render your motherboard unusable.