Petitboot is a platform independent bootloader based on the Linux kexec warm reboot mechanism. Petitboot supports loading kernel and initrd image files from any mountable Linux device, plus can load image files from the network using TFTP, NFS, HTTP, HTTPS, and SCP. Petitboot can boot any operating system supported by kexec.
Petitboot includes graphical and command line user interface programs. The command line programs can be used to boot remotely via telnet or ssh sessions. Multiple user interface programs can run simultaneously.
Petitboot is licensed under the GPLv2.
Screen Shots
ncurses over telnet | twin GUI |
ncurses UI | ncurses option editor |
Design & Features
Petitboot has a client-server design. The petitboot server, pb-discover, uses several event mechanisms to dynamically update its knowledge of available boot configurations as they become available or unavailable at run time. The petitboot client programs implement the petitboot user interfaces and display the curent boot configurations known by pb-discover.
Petitboot provides a udev rules file that when installed will cause udev block device event notifiers to be send to pb-discover for any block device activity. When a new a block device becomes available to the system pb-discover will try to mount the device, and if successful, will search for boot configuration files on the device. When a device is removed from the system pb-discover will remove any boot configurations associated with that device.
pb-discover exposes a generic event mechanism that allows utility programs to provide boot configuration information. Petitboot includes utility programs to process boot configuration info from DHCP servers, and if configured to do so, will manage any boot configuration info received.
Petitboot provides a programming framework for creating custom user interface programs.
Presentations
Using Petitboot
You can navigate the ncurses user interface with the keyboard arrow keys. A help and status menu is displayed at the lower part of the petitboot screen.
In the GUI client each discovered configuration source will appear as an icon on the left-hand pane of the screen. Boot options from the selected source will appear on the right.
Petitboot man pages:
Source Code
The current petitboot and twin windowing system sources can be found at kernel.org:
About
You can find the latest version of this document, and some other useful things here:
http://www.kernel.org/pub/linux/kernel/people/geoff/petitboot/petitboot.html
Please send comments to <geoff @ infradead.org>.