plan9fox/sys/man/8/9boot

189 lines
4.4 KiB
Text
Raw Normal View History

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.
The syntax of the boot console is the same as in the
2011-04-15 20:48:57 +00:00
.IR plan9.ini (8)
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.
.TP
.B show
displays the current configuration in memory.
.TP
2011-11-09 14:26:26 +00:00
.B wait
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
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
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
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 .
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
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
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
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*
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
.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)
.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).