LinuxBIOS is intended to provide a philosophically free replacement for proprietary firmware in chipsets. It consists of the minimal amount of code needed to start a mainboard to the point at which a payload -- an executable capable of starting a kernel, such as Etherboot -- can finish booting the machine. As the name implies, work to date has focused on using a Linux kernel, but the same technology could be used to start a machine with Windows or the GRUB boot manager.
The project was started in 1999 by Ron Minnich of the Los Alamos National Laboratory. Originally intended for embedded systems and clusters, the project quickly expanded to include work on servers and workstations as well. Despite some periods of relative inactivity, the project has "grown by a factor of 10" each year, according to Minnich. The project received a boost in 2005 when it was added to the Free Software Foundation's high priority list, and more recently when the One Laptop Per Child (OLPC) project chose to use LinuxBIOS in its efforts to produce an inexpensive computer to assist developing nations.
Throughout the project's history, support from chip manufacturers and OEMs has been mixed. When the project started, Minnich remembers, information from Intel was readily available. Now, information about Intel chips is closely guarded, and the company prefers to promote its mixed source Extensible Firmware Interface (EFI) as the next generation of chip technology. By contrast, Advanced Micro Devices (AMD) was slow to support LinuxBIOS, but is now a major contributor to the project. Among OEMs, supporters include Acer, Advancetech, SIS, Momentum Computer, and Newisys. The project also works closely with OpenBIOS, a project with similar aims.
Currently, Richard Smith, BIOS release manager for OLPC, says, "There are about 30 chipsets in the [repository] tree with various degrees of completion. The AMD boards are supported particularly well."
Ward Vandewege, the system administrator at the Free Software Foundation, who has been gradually upgrading the organization's servers to LinuxBIOS over the last 14 months, describes the technology as adaptable by a hacker with only a moderate amount of knowledge about the BIOS, but still something that would pose a challenge for most members of the free software community to try.
As of 2005, LinuxBIOS was installed on more than a million computers, mostly in Internet terminals produced by STPC Consumer in India. Because of OLPC and similar projects, Minnich estimates that this number could increase to more than a hundred million by the end of 2008.
In addition to its philosophical and political goals, LinuxBIOS represents a chance to rethink computer BIOSes. Active members of the project describe proprietary BIOSes as hopelessly mired in the thinking of 30 years ago. Unlike its proprietary equivalents, LinuxBIOS is written in C, rather than assembly language, making debugging and updating quicker and easier -- a crucial consideration in a market where new chipsets are released every six months and vendors have no time to make major modifications in anything except the most high-end boards.
Smith also observes that at a time when the cost of licensing a BIOS from a chipset manufacturer "is becoming a larger portion of the price of the motherboard" and the size of proprietary BIOSes requires more Flash ROM, LinuxBIOS offers a free, smaller -- and therefore cheaper -- alternative. Given the decreasing profit margins on computer hardware, Smith expects that cost alone will make LinuxBIOS increasingly attractive to vendors.
Similarly, because LinuxBIOS is licensed under the GNU General Public License, it can be a more attractive than proprietary BIOSes to security-conscious customers such as federal governments. For vendors, Vandewege suggests, the availability of the source code can also be a means of removing their dependency on chipset manufacturers to make all major changes in BIOSes.
For ordinary users, Vandewege says, LinuxBIOS is also a guarantee against digital rights management technologies, such as the sandboxing feature of Intel's EFI, which controls software access to hardware. According to Vandewege, the introduction of such a feature raises issues of privacy and consumer rights, because "whoever controls the BIOS controls the computer. If you control the BIOS, you can lock out whatever loads after it."
Yet possibly the greatest advantage is that LinuxBIOS is becoming a repository of BIOS knowledge. Because other BIOSes are proprietary, Minnich says, knowledge of them is often lost as chipsets change and experts leave the companies that produce them. As a result, the code in proprietary BIOSes can be maintained, but often not corrected. In their efforts to reverse engineer, LinuxBIOS members can not only build a debugged and more efficient BIOS -- one capable of booting to a console in as little as three seconds -- but also offer manufacturers and vendors a wealth of rediscovered knowledge about their own products.
Despite these potential advantages, LinuxBIOS still faces significant challenges. "We've had a fairly rough time trying to get in with the main motherboard manufacturers," Smith says. "We haven't had the numbers and the clout to get our way in. And most of the manufacturers are so scared about releasing documentation, especially for the RAM controller, or, if they're doing a laptop, how to make all the special buttons work. And figuring out things by reverse engineering can be tricky -- you don't want to do something that they can come back at you legally for, and it's just time-consuming. It's hideous." In a field in which new models are release twice or three times a year, this resistance means that, in many ways, LinuxBIOS is continually lagging behind.
The choice to develop for an alternative operating system is also a problem. When Microsoft makes a request, Smith says, "you have BIOS people falling all over themselves to make sure that it happens. But we don't get that level of support." Nor does Smith believe that LinuxBIOS will ever become a mainstream option until it works with Windows as well. This development is theoretically possible, but, so far, LinuxBIOS has not attracted any developers interested in working on it.
In fact, as much as the resistance from vendors, the main problem for LinuxBIOS is one common to many free software projects: a lack of resources. Smith estimates that LinuxBIOS currently has five or six core developers and about the same number of people doing specific pieces of work at any given time. An especially encouraging sign, says Minnich, is that five or six computer science undergraduates have ported LinuxBIOS to specific chipsets over the last couple of years -- a trend that he would like to see continue. Nor is progress helped by the current state of documentation, which Minnich describes as "terrible."
Optimism for the future
These challenges are not easily overcome, but LinuxBIOS members see signs of slow progress. "Manufacturers are getting better about releasing specs on older boards," Smith says, which may help LinuxBIOS extend its support and increase its credibility. And while Minnich admits that he sometimes gets discouraged about the slow rate of progress, he adds that recent developments give him strong reasons for optimism.
For Minnich, one reason for optimism is OLPC's involvement. OLPC promises to be by far the largest deployment of the LinuxBIOS to date. Just as importantly, OLPC's decision not to use the Advanced Configuration and Power Interface (ACPI) specification for communication between the motherboard and hardware devices amounts to a much-needed updating of standard practices in the industry. If OLPC is successful, both in deployment and technology, as a part of it, LinuxBIOS should greatly increase its profile and reputation for innovation.
Another reason for Minnich's optimism is Google's sponsorship of an automated distributed testing environment for LinuxBIOS. This online facility will allow those interested to test safely and remotely, removing the need for project members to find hardware for themselves. Moreover, because new commits will result in new BIOS images for all boards, the facility will also help avoid forking of code for specific boards. In other words, the new testing environment promises to compensate for the project's lack of numbers and resources.
Most significant of all, project members hope to see the first major vendors offering LinuxBIOS to customers soon. "If we really want to get installed on many machines," Vandewege says, "the BIOS is going to have to come with the machine." However, up until now, many vendors have been reluctant to offer LinuxBIOS as an option.
Now, however, there are signs that the situation is changing. Project members are reluctant to say too much on the record for fear of disturbing various negotiations that are underway, although Stefan Reinauer of coresystems GmbH does indicate that progress is being made on such issues as assuring that users of LinuxBIOS are covered by warranties and that LinuxBIOS boards can include onboard graphics chips. However, AMD is expected to offer LinuxBIOS as an alternative to vendors in its next generation of high-end boards, and Minnich is willing to say that, with the help of the Free Software Foundation, he hopes that at least one vendor will support LinuxBIOS in workstation machines within the next year, and possibly on a laptop, he hints.
Not all these expectations may come to pass, but, as Vandewege observes, "There's a serious amount of momentum going on right now." For the first time, project members can see a time coming when LinuxBIOS is no longer just an option for hackers with specialized skills but is readily available and, as Smith says, "will just be another platform. You'll just have to ask for it."
Yet, for all the optimism in the project, some participants see even LinuxBIOS' ready availability as only a first step. "Getting to a free BIOS is a major step toward getting a totally free machine," Vandewege says, "but that's not the end of it, because, if you look at machines more closely, nowadays you'll find that there is embedded firmware in many parts. For instance, network cards often have embedded firmware, SCSI controllers do, even hard drives do these days."
However, such considerations are for the future. So far as Vandewege knows, no one is working to develop alternatives to these other examples of proprietary firmware. For now, LinuxBIOS seems ready to emerge as not only a player in its field, but an innovative one -- and the sense of excitement around the project is almost tangible.
Bruce Byfield is a computer journalist who writes regularly for NewsForge, Linux.com, and IT Manager's Journal.