The Linux BIOS|
R. Minnich and J. Hendricks and D. Webster,
4th Annual Linux Showcase & Conference, August 2000
(Summary by George Candea)
Existing BIOS problems:
Once the kernel is booted, it can connect via SSH to a DHCP server, get its node identity, and then boot a kernel of choice (the one in NVRAM, or one that is SSH-ed over, or one from disk, etc.) Note that, unlike with normal BIOSes, if some failure occurs (e.g., disk is dead), the initial kernel can report the error to the remote administrator instead of giving up. The DHCP server could tell the kernel to mount its root over NFS, AFS, Coda, etc. An interesting management feature is to open an HTTP port and allow LinuxBIOS to be managed from a web browser. In a cluster environment, it is also possible to multicast kernel and disk images to the nodes.
A boot alternative is for the kernel to open a SSH port and wait for remote instructions, such as changing LinuxBIOS parameters or installing a new kernel. NVRAMs that house BIOSes these days have 1 MByte, and will soon have 2 MBytes; this opens the possibility to have a backup kernel in case we update the first kernel with a bad one.
LinuxBIOS takes less than one second to go from power-off to the point where it mounts the root.