2011-04-15 20:48:57 +00:00
|
|
|
.TH 9BOOT 8
|
|
|
|
.SH NAME
|
2016-05-19 17:49:04 +00:00
|
|
|
9bootfat, 9bootiso, 9boothyb, 9bootpxe, bootia32.efi, bootx64.efi, efiboot.fat \- PC bootloader for FAT, ISO and PXE network booting
|
2011-04-15 20:48:57 +00:00
|
|
|
.SH SYNOPSIS
|
2014-11-02 20:22:03 +00:00
|
|
|
Started by PC BIOS/EFI or chainloaded by partition bootsector
|
2011-04-15 20:48:57 +00:00
|
|
|
.SH DESCRIPTION
|
2011-06-12 14:33:14 +00:00
|
|
|
9boot is the bootloader used on PCs to start the Plan 9 kernel.
|
|
|
|
Its task is to read and parse the
|
2011-04-15 20:48:57 +00:00
|
|
|
.IR plan9.ini (8)
|
2011-06-12 14:33:14 +00:00
|
|
|
configuration file, gather some basic system information like
|
2011-07-13 20:50:06 +00:00
|
|
|
the amount of usable system memory, do some basic system
|
2011-06-12 14:33:14 +00:00
|
|
|
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
|
2011-04-15 20:48:57 +00:00
|
|
|
.B bootfile=
|
2011-06-12 14:33:14 +00:00
|
|
|
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
|
|
|
|
boot console.
|
|
|
|
|
2013-02-17 08:30:02 +00:00
|
|
|
The syntax of the boot console is the same as in the
|
2011-04-15 20:48:57 +00:00
|
|
|
.IR plan9.ini (8)
|
2013-02-17 08:30:02 +00:00
|
|
|
file with
|
|
|
|
.IB key = value
|
|
|
|
pairs setting boot parameters. In addition a few command
|
|
|
|
words are recognized that are intended for interactive use:
|
|
|
|
.TP
|
|
|
|
.BI clear [prefix]
|
|
|
|
can be used to remove parameters from the configuration.
|
2011-06-12 14:33:14 +00:00
|
|
|
If a
|
|
|
|
.IR prefix
|
|
|
|
is specified, the first parameter that matches the prefix
|
|
|
|
is removed. If the
|
|
|
|
.IR prefix
|
2011-07-13 20:50:06 +00:00
|
|
|
argument is omitted, the whole configuration will be reset.
|
2013-02-17 08:30:02 +00:00
|
|
|
.TP
|
|
|
|
.B show
|
|
|
|
displays the current configuration in memory.
|
|
|
|
.TP
|
2011-11-09 14:26:26 +00:00
|
|
|
.B wait
|
2013-02-17 08:30:02 +00:00
|
|
|
will return to the console prompt after processing the
|
|
|
|
configuration file preventing automatic boot.
|
|
|
|
.TP
|
2011-04-15 20:48:57 +00:00
|
|
|
.B boot
|
2013-02-17 08:30:02 +00:00
|
|
|
will end the console and attempt booting the kernel.
|
|
|
|
.SS
|
2011-06-12 14:33:14 +00:00
|
|
|
There are many ways to boot a PC so
|
|
|
|
.IR 9boot
|
2020-11-21 22:55:33 +00:00
|
|
|
was split into a number of distinct programs, one for each boot
|
2011-06-12 14:33:14 +00:00
|
|
|
method.
|
2011-04-15 20:48:57 +00:00
|
|
|
.SH FAT BOOTING
|
2011-06-12 14:33:14 +00:00
|
|
|
When booting Plan 9 from a harddisk or USB pen drive, a
|
2011-07-13 20:50:06 +00:00
|
|
|
FAT16/32 partition
|
|
|
|
.IR (9fat)
|
|
|
|
is used to store the kernel and
|
2011-05-04 09:02:04 +00:00
|
|
|
.IR plan9.ini (8)
|
2011-06-12 14:33:14 +00:00
|
|
|
configuration. Due to size limitations, instead of loading
|
2011-07-13 20:50:06 +00:00
|
|
|
the kernel directly, the bootsector
|
|
|
|
.IR (pbs)
|
|
|
|
of the FAT partition loads
|
2011-06-12 14:33:14 +00:00
|
|
|
a 2nd stage bootloader
|
2011-07-13 20:50:06 +00:00
|
|
|
.IR (9bootfat)
|
2011-06-12 14:33:14 +00:00
|
|
|
from the root directory of the filesystem.
|
2011-04-17 08:17:01 +00:00
|
|
|
.SH CD-ROM BOOTING
|
2011-07-13 20:50:06 +00:00
|
|
|
Booting from CD-ROM requires only the
|
2011-04-15 20:48:57 +00:00
|
|
|
.IR 9bootiso
|
2011-07-13 20:50:06 +00:00
|
|
|
bootloader to be included in the ISO-9660 image under
|
2014-11-02 20:22:03 +00:00
|
|
|
.BR /386/9bootiso ,
|
2011-07-13 20:50:06 +00:00
|
|
|
set as a non-emulation bootblock (see
|
2014-11-02 20:22:03 +00:00
|
|
|
.B -B
|
|
|
|
in
|
2011-04-18 01:18:36 +00:00
|
|
|
.IR mk9660 (8)).
|
2011-04-15 20:48:57 +00:00
|
|
|
Boot parameters are read from
|
2014-11-02 20:22:03 +00:00
|
|
|
.BR /cfg/plan9.ini .
|
2016-05-19 17:49:04 +00:00
|
|
|
.SH ISO HYBRID BOOTING
|
|
|
|
With the
|
|
|
|
.I 9boothyb
|
2016-05-20 07:56:45 +00:00
|
|
|
loader, an ISO image can be made into a bootable disk by
|
2016-05-19 17:49:04 +00:00
|
|
|
creating a MBR and appending a bootable DOS partition containing
|
|
|
|
.I 9boothyb
|
|
|
|
renamed to
|
|
|
|
.IR 9bootfat .
|
2016-05-20 07:56:45 +00:00
|
|
|
The loader will read the ISO filesystem as if it were stored
|
2016-05-19 17:49:04 +00:00
|
|
|
on a CD-ROM drive.
|
2011-04-15 20:48:57 +00:00
|
|
|
.SH NETWORK BOOTING
|
2011-06-12 14:33:14 +00:00
|
|
|
With a PXE capable BIOS and network card one can download
|
2011-04-15 20:48:57 +00:00
|
|
|
.IR 9bootpxe
|
2011-06-12 14:33:14 +00:00
|
|
|
and boot the kernel from a TFTP server (see
|
2011-07-13 20:50:06 +00:00
|
|
|
.IR dhcpd (8)
|
|
|
|
and
|
2011-04-15 20:48:57 +00:00
|
|
|
.IR ndb (6)
|
2011-06-12 14:33:14 +00:00
|
|
|
for details). Once started,
|
2011-04-15 20:48:57 +00:00
|
|
|
.IR 9bootpxe
|
|
|
|
will read the file
|
|
|
|
.B /cfg/pxe/$ether
|
2012-08-21 12:23:52 +00:00
|
|
|
or, if this file is not present,
|
|
|
|
.B /cfg/pxe/default
|
2011-04-15 20:48:57 +00:00
|
|
|
from the tftp server, where
|
|
|
|
.B $ether
|
2011-04-17 08:17:01 +00:00
|
|
|
is the MAC address of the client's network card
|
2012-08-21 12:23:52 +00:00
|
|
|
in lower case hex, and uses this as its
|
2011-04-15 20:48:57 +00:00
|
|
|
.IR plan9.ini (8)
|
|
|
|
file.
|
2014-10-19 19:55:19 +00:00
|
|
|
.SH EFI BOOTING
|
|
|
|
EFI firmware looks for the files
|
2014-11-02 20:22:03 +00:00
|
|
|
.I bootia32.efi
|
2014-10-19 19:55:19 +00:00
|
|
|
(for 386)
|
|
|
|
or
|
2014-11-02 20:22:03 +00:00
|
|
|
.I bootx64.efi
|
2014-10-19 19:55:19 +00:00
|
|
|
(for amd64)
|
2014-11-02 20:22:03 +00:00
|
|
|
in the boot media and executes them.
|
|
|
|
For local disk media, these files are located in the directory
|
2014-10-19 19:55:19 +00:00
|
|
|
.B /efi/boot
|
2014-11-02 20:22:03 +00:00
|
|
|
of the
|
|
|
|
.B FAT
|
2016-05-20 07:56:45 +00:00
|
|
|
formatted boot partition.
|
2014-11-02 20:22:03 +00:00
|
|
|
For
|
|
|
|
.B CD-ROM
|
|
|
|
media, the boot partition is provided
|
|
|
|
as a embedded
|
|
|
|
.B FAT
|
|
|
|
filesystem image
|
|
|
|
.I efiboot.fat
|
2014-11-02 20:25:37 +00:00
|
|
|
(see
|
2014-11-02 20:22:03 +00:00
|
|
|
.B -E
|
|
|
|
in
|
|
|
|
.IR mk9660 (8)).
|
|
|
|
In the network boot case, the
|
|
|
|
.I bootia32.efi
|
|
|
|
or
|
|
|
|
.I bootx64.efi
|
|
|
|
files are used as the
|
|
|
|
.B BSP
|
|
|
|
program instead of
|
|
|
|
.IR 9bootpxe .
|
|
|
|
Once started, the boot media
|
|
|
|
.RB ( PXE ,
|
|
|
|
.BR ISO ,
|
|
|
|
.BR FAT )
|
|
|
|
is discovered and
|
|
|
|
.IR plan9.ini (8)
|
2014-12-07 13:34:15 +00:00
|
|
|
configuration is read from it in the same way as
|
2014-11-02 20:22:03 +00:00
|
|
|
with the BIOS-based
|
|
|
|
.I 9boot*
|
2020-11-21 22:55:33 +00:00
|
|
|
loaders. If the EFI loader was executed from a
|
|
|
|
.B FAT
|
|
|
|
partition, it will first search for
|
|
|
|
.IR plan9.ini (8)
|
|
|
|
in the same
|
|
|
|
.B FAT
|
|
|
|
filesystem that it was loaded from, and if not found, will search for
|
|
|
|
.IR plan9.ini (8)
|
|
|
|
in any other partition in an implementation-defined order. The kernel
|
|
|
|
is always loaded from the same partition that
|
|
|
|
.IR plan9.ini (8)
|
|
|
|
is read from.
|
2011-06-12 14:33:14 +00:00
|
|
|
.SH FILES
|
|
|
|
.B /386/pbs
|
2011-07-13 20:50:06 +00:00
|
|
|
.br
|
2011-06-12 14:33:14 +00:00
|
|
|
.B /386/9bootfat
|
2011-07-13 20:50:06 +00:00
|
|
|
.br
|
2011-06-12 14:33:14 +00:00
|
|
|
.B /386/9bootiso
|
2011-07-13 20:50:06 +00:00
|
|
|
.br
|
2016-05-19 17:49:04 +00:00
|
|
|
.B /386/9boothyb
|
|
|
|
.br
|
2011-06-12 14:33:14 +00:00
|
|
|
.B /386/9bootpxe
|
2014-10-19 19:55:19 +00:00
|
|
|
.br
|
|
|
|
.B /386/bootia32.efi
|
|
|
|
.br
|
|
|
|
.B /386/bootx64.efi
|
|
|
|
.br
|
2014-10-31 19:07:54 +00:00
|
|
|
.B /386/efiboot.fat
|
2011-06-12 14:48:03 +00:00
|
|
|
.SH SOURCE
|
2011-07-13 20:50:06 +00:00
|
|
|
.BR /sys/src/boot/pc
|
2014-10-19 19:55:19 +00:00
|
|
|
.br
|
|
|
|
.BR /sys/src/boot/efi
|
|
|
|
.br
|
2011-06-12 14:33:14 +00:00
|
|
|
.SH "SEE ALSO"
|
2014-11-02 20:22:03 +00:00
|
|
|
.IR plan9.ini (8),
|
|
|
|
.IR mk9660 (8),
|
|
|
|
.IR dhcpd (8),
|
|
|
|
.IR ndb (6)
|
2020-11-21 22:55:33 +00:00
|
|
|
.br
|
|
|
|
.I https://uefi.org
|
2013-12-27 21:22:05 +00:00
|
|
|
.SH HISTORY
|
|
|
|
9boot first appeared in 9front (April, 2011).
|
2014-10-19 19:55:19 +00:00
|
|
|
EFI support first appeared in 9front (Oct, 2014).
|