[LinuxBIOS] Why LinuxBIOS is Better <was LinuxBIOS on Laptops.>

Bari Ari bari at onelabs.com
Tue Sep 5 20:51:53 CEST 2006

Rogelio Serrano wrote:
 > On 9/3/06, Kevin Purcell <kevinpurcell at pobox.com> wrote:
 >> (not a troll)
 >> What would be the selling point to the laptop maker of using LinuxBIOS?
 >> Why would they want LinuxBIOS rather than buying (and modifying) a
 >> solution from a commercial BIOS company and their CPU/chipset(s)
 >> suppliers?
 > many things that go beyond the bios. you cant make an argument with
 > the bios alone. you have to show what an open bios would bring and
 > actually link that to higher sales. for example if it allows
 > ubiquitous computing where you would rather use your laptop instead of
 > pen and paper then that would be convincing. instant accessibility is
 > a very big thing now.  <snip> ... if your pc can bootup in 3 seconds
 > that changes a whole lot of things.

Some selling points might include:

LinuxBIOS is a much lower cost solution than commercial BIOSes.

LinuxBIOS has no royalty fees, no cost for source or software 
development tools.

LinuxBIOS is technically superior to commercial BIOSes.

LinuxBIOS is written almost entirely in C.

LinuxBIOS operates mainly in 32 bit mode.

LinuxBIOS offers faster boot times than commercial BIOSes.

LinuxBIOS has lower complexity than commercial BIOSes.

LinuxBIOS has lower latencies than commercial BIOSes.

LinuxBIOS is far better at detecting and configuring hardware than
commercial BIOSes.

LinuxBIOS can load a kernel over any device, network, protocol, and file 
system that Linux supports.

LinuxBIOS supports low level cryptographic support for strong pre-boot 
authentication, secure remote console support and secure configuration 

LinuxBIOS is easier to develop than commercial BIOSes.

LinuxBIOS is easier to maintain than commercial BIOSes.

LinuxBIOS is released under GPL.

LinuxBIOS is more fun, does not cause cancer and allows you to sleep at 

        (feel free for anyone else to chime in here)

Commercial BIOSes have royalty fees, high costs for source and software 
development tools.

Commercial BIOSes are mostly written in assembler, operate mostly in 16 
bit mode, and provides services that few modern 32 bit operating systems 

Commercial BIOSes have long boot times.

Commercial BIOSes are complex and have long latencies.

The ACL team found that commercial BIOSes do a poor job of setting up a 
PC for modern OSes. They found:

Commercial BIOSes configure memory in a suboptimal way. For example,  
some BIOSes were discovered to use memory capable of CAS2 speeds at a 
much slower CAS3 setting.

Commercial BIOSes incorrectly configured PCI address spaces that opened 
up security holes when memory-mapped cards (e.g. Myrinet) were used.

Commercial BIOSes had suboptimal assignments of interrupt requests. Some 
BIOSes were found to share IRQs between multiple devices when such 
sharing was not required. This sharing of IRQs added latency upon 
interrupts needlessly.

Commercial BIOSes incorrectly configured BIOS tables such as the $PIR  
table, so that the critical information Linux needs for IRQ assignment 
was not available. So pervasive are some of the errors that they have 
impacted the Linux 2.4.19 kernel; in this version, GEODE IRQ setup was 
changed, incorrectly, to accommodate some broken motherboards.

Commercial BIOSes had incorrect ID strings, for example the 
string``Mainboard vendor name here'' was in the BIOS instead of the 
mainboard vendor name.

Commercial BIOSes had no way to upgrade the BIOS from a modern OS (some 
vendors shipped DOS diskettes for a BIOS upgrade; others required that 
you boot a Windows 3.1 CD and run an upgrade program).

Commercial BIOSes had no way to preserve CMOS settings when a BIOS is 
upgraded (one vendor recommended we record the settings on paper and 
then re-enter them for each machine; a difficult task on a 960-node 
system with no keyboard or console).

Commercial BIOSes also have structural problems that derive from 
therequirements for supporting DOS. One of these is the requirement that 
the BIOS zero memory. This requirement makes postmortem debugging 
virtually impossible, as a reset results in erasing the memory image of 
the previously running operating system.

Commercial BIOSes also have problems accommodating custom built 
hardware, and can take considerable time to boot.

Commercial BIOS bugs or errors are almost impossible to fix.

      (feel free for anyone else to chime in here again)


More information about the coreboot mailing list