.TH BOOTING 8
.SH NAME
booting \- bootstrapping procedures
.SH SYNOPSIS
none
.SH DESCRIPTION
This manual page collects the incantations required to bootstrap Plan 9 machines.
Some of the information here is specific to the installation at Bell Labs;
some is generic.
.PP
If a CPU server is up, BOOTP/DHCP and TFTP will run from there;
if not, the necessary files and services must be available on a separate machine,
such as a Unix system, to use these protocols for bootstrapping.
.PP
Be sure to read
.IR boot (8)
to understand what happens after the kernel is loaded.
.SS Terminals
To bootstrap a diskless terminal or a CPU server, a file server must be running.
PCs can boot from a floppy disk or any FAT16 partition.
On all the terminals, typing two control-T's followed by a lower-case
.B r
reboots the machine;
other methods of rebooting are mentioned for some machines.
.SS PCs
To boot a PC, it is necessary to get
.B /386/9load
loaded into memory.
There are many ways to do this.  A Plan 9 boot floppy prepared by
.B format
(see
.IR prep (8))
will load
.B 9load
when the PC is reset or powered on.
Other methods are described in 
.IR 9load (8).
.B 9load
then locates and loads a Plan 9 kernel, using configuration information
from the file
.B plan9.ini
stored in the
.B 9fat
configuration partition or on a DOS file system.
See 
.IR 9load (8)
for details.
.PP
Once the kernel is booted, it behaves like the others.
See
.IR boot (8)
for details.
.SS Alpha PCs
Alpha PCs must be booted via TFTP using the SRM console.
If the system has ARC firmware instead, SRM may be downloaded from
.IP
.EX
http://www.compaq.com/
.EE
.PP
You must configure the SRM firmware to load the file
.BR /alpha/bootalphapc .
The following commands may be used (replace
.B ewa0
with the name of your ethernet device, if different):
.IP
.EX
set boot_reset ON
set boot_file /alpha/bootalphapc
set bootdev_def ewa0
set ewa0_inet_init bootp
set ewa0_protocols BOOTP
.EE
.PP
This secondary bootstrap program will first load the file
.BR /alpha/conf/ <IP-address>
(substituting the IP address of the system as obtained via bootp).
This file is expected to be in
.IR plan9.ini (8)
format (the file
.B /alpha/conf/10.0.0.2
may be used as a template).
It then loads the kernel via tftp, using the value of
.B bootfile
to tell it which file to load; this should be
.B /alpha/9apc
for terminals.
.SS CPU Servers
The Plan 9 CPU servers are multi-user, so they do not request a user name
when booting.
On the CPU servers, typing a control-P on the console reboots the machine.
.SS PC CPU Server
Proceed as for the PC terminal, but load
.B /386/9pccpu
or
.BR /386/9pccpudisk .
.SS Alpha PC CPU Server
Proceed as for the Alpha PC terminal, but use
.B /alpha/9apccpu
as the value of
.BR bootfile .
.SS SGI Challenge multiprocessor CPU Server
The Challenge ROM monitor can boot from the Ethernet.
To boot from the Ethernet, type
.IP
.EX
.B bootp()/mips/9ch
.EE
.PP
or use the ROM command
.B setenv
to set the variable
.B bootfile
to that same string and type
.BR boot .
To load a different file, tell
.B bootp
which file to load,
and to force the download to come from a particular system,
.BR bootp()system:file .
Any arguments after
.B bootp()file
are passed to
.BR /boot .
If you are running a Plan 9
.SM BOOTP
server (see
.IR dhcpd (8)),
the file name can be omitted and the
file specified by the
.B bootf
parameter for the machine in
.BR /lib/ndb
will be downloaded by default.
.PP
Once the kernel is loaded,
it prompts for the Ethernet
protocol to use to reach the root file server; request the default.
.PP
.SS File servers
The CPU servers and terminals run essentially the same program, but
the Plan 9 file servers run a distinct system.
The file servers accept only the commands described in
.IR fs (8)
on their consoles.
.SS PC File Server
Boot the PC file server like a regular PC, loading the appropriate file system kernel.
.SH "SEE ALSO"
.IR 9load (8),
.IR boot (8),
.IR fs (8),
.IR init (8),
.IR plan9.ini (8)
.SH SOURCE
Sources for the various boot programs are under
.BR /sys/src/boot .
.SH BUGS
The file server should be able to boot from its own disk.
