ALS 2000 Abstract
The Linux BIOS
Ron Minnich, James Hendricks, and Dale Webster, Los Alamos National Labs
Abstract
The Linux BIOS replaces the normal BIOS found on PCs,
Alphas, and other machines. The BIOS boot and setup
is eliminated and replaced by a very simple initialization
phase, followed by a gunzip of a Linux kernel. The Linux
kernel is then started and from there on the boot proceeds
as normal. Current measurements on two mainboards
show we can go from a machine power-off state to the
Òmount rootÓ step in a under a second, depending on the
type of hardware in the machine. The actual boot time is
difficult to measure accurately at present because it is so
small.
As the name implies, the LinuxBIOS is primarily
Linux. Linux needs a small number of patches to han-dle
uninitialized hardware: about 10 lines of patches so
far. Other than that it is an off-the-shelf 2.3.99-pre5 ker-nel.
The LinuxBIOS startup code is about 500 lines of
assembly and 1500 lines of C.
The Linux BIOS can boot other kernels; it can use the
LOBOS(ref) or bootimg(ref) tools for this purpose. Be-cause
we are using Linux the boot mechanism can be very
flexible. We can boot over standard Ethernet, or over other
interconnects such as Myrinet, Quadrix, or Scaleable Co-herent
Interface. We can use SSH connections to load the
kernel, or use InterMezzo or NFS. Using a real operating
system to boot another operating system provides much
greater flexibility than using a simple netboot program or
BIOS such as PXE.
LinuxBIOS currently boots from power-off to multi-user
login on two mainboards, the Intel L440GX+ and
the Procomm PSBT1. We are currently working with in-dustrial
partners (Dell, Compaq, SiS, and VIA) to port
the LinuxBIOS to other machines. According to one ven-dor,
weshould be able to purchase their LinuxBIOS-based
mainboards by the end of this year.
|