9bootfat, 9bootiso, 9boothyb, 9bootpxe, bootia32.efi, bootx64.efi, efiboot.fat – PC bootloader for FAT, ISO and PXE network booting
Started by PC BIOS/EFI or chainloaded by partition bootsector
9boot is the bootloader used on PCs to start the Plan 9 kernel.
Its task is to read and parse the
configuration file, gather some basic system information like
the amount of usable system memory, do some basic system
initialization and load the kernel from the boot media into memory.
After reading the configuration, the loader will automatically
attempt to boot the kernel that was specified by the
parameter. If there is no such parameter, a key
gets pressed on the keyboard or the kernel file was not
found then the loader enters the interactive
The syntax of the boot console is the same as in the
pairs setting boot parameters. In addition a few command
words are recognized that are intended for interactive use:
can be used to remove parameters from the configuration.
is specified, the first parameter that matches the prefix
is removed. If the
argument is omitted, the whole configuration will be reset.
displays the current configuration in memory.
will return to the console prompt after processing the
configuration file preventing automatic boot.
will end the console and attempt booting the kernel.
There are many ways to boot a PC so
was split into a number of distinct programs one for each boot
When booting Plan 9 from a harddisk or USB pen drive, a
is used to store the kernel and
configuration. Due to size limitations, instead of loading
the kernel directly, the bootsector
of the FAT partition loads
a 2nd stage bootloader
from the root directory of the filesystem.
Booting from CD-ROM requires only the
bootloader to be included in the ISO-9660 image under
set as a non-emulation bootblock (see
Boot parameters are read from
loader, an ISO image can be made into a bootable disk by
creating a MBR and appending a bootable DOS partition containing
The loader will read the ISO filesystem as if it were stored
on a CD-ROM drive.
With a PXE capable BIOS and network card one can download
and boot the kernel from a TFTP server (see
for details). Once started,
will read the file
or, if this file is not present,
from the tftp server, where
is the MAC address of the client’s network card
in lower case hex, and uses this as its
EFI firmware looks for the files
in the boot media and executes them.
For local disk media, these files are located in the directory
formatted boot partition.
media, the boot partition is provided
as a embedded
In the network boot case, the
files are used as the
program instead of
Once started, the boot media
is discovered and
configuration is read from it in the same way as
with the BIOS-based
9boot first appeared in 9front (April, 2011).
EFI support first appeared in 9front (Oct, 2014).