kboot
Hosted by
SourceForge.net Logo
Download Mailing list Documentation Links

kboot is a proof-of-concept implementation of a Linux boot loader based on kexec. kboot uses a boot loader like LILO or GRUB to load a regular Linux kernel as its first stage. Then, the full capabilities of the kernel can be used to locate and to access the kernel to be booted.
kboot integrates the various components needed for a fully featured boot loader, and demonstrates their use. While the main focus is on basic technical functionality, kboot can serve as a starting point for customized boot environments offering additional features.

kboot is currently only tested on the ia32 (i386) platform. Some of its features include:

  • supports most file systems and device drivers the Linux kernel supports
  • transparent navigation in the file system of the booted system, including auto-mounting guided by /etc/fstab
  • network configuration is either manual or with DHCP, including name resolution via /etc/hosts and DNS
  • access to file systems via NFS
  • access to files via HTTP, FTP, and TFTP
  • inbound and outbound SSH (to and from the boot loader)
Besides that, it's easy to add more features. The most important missing features are:
  • no pretty user interface yet
  • no integration of RAID, LVM, etc.
  • needs to support more platforms, in particular amd64
  • file name completion only works for commands and kernels
  • does not boot legacy operating systems yet

 Download
The current version is kboot-11 (42 kB), released 11-JAN-2007.

Changes since the previous version:

  • New features:
    • pressing Ctrl-C before the kboot prompt is shown now starts an emergency shell (based on suggestions by Brent Baude)
    • README: added a troubleshooting section explaining how to get a shell if things turn sour
  • Changes:
    • upgraded to the 2.6.19.2 kernel
    • upgraded to Busybox 1.3.1
    • patches/busybox-noshadow.patch: fix Busybox build without shadow passwords (from PLD Linux)
    • scripts/kboot: start udhcpc with -n instead of --now, since the latter is no longer recognized
    • upgraded to udev 104
    • Makefile: recent versions of udev aren't stripped, so we do this

Older versions can be found here.

 Mailing list
General discussion of kboot takes place on the kboot mailing list. Also announcements of new versions are posted to this list.
The mailing list is archived at http://sourceforge.net/mailarchive/forum.php?forum=kboot-general

 Documentation
Papers:
  • "kboot - A Boot Loader Based on Kexec", Linux-Kongress, October 2005
    (Postscript: gziped)
Presentations:

 Links
Related material:

Last update: 11-JAN-2007   Werner Almesberger