term% cat index.txt BOOTING(8) System Manager's Manual BOOTING(8)
NAME
booting - bootstrapping procedures
SYNOPSIS
none
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.
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 ma‐
chine, such as a Unix system, to use these protocols for bootstrapping.
Be sure to read boot(8) to understand what happens after the kernel is
loaded.
Terminals
To bootstrap a diskless terminal or a CPU server, a file server must be
running.
PCs
On a PC, the 9boot(8) program is used to load the kernel /386/9pcf into
memory.
Once the kernel is booted, it behaves like the others. See boot(8) for
details.
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
http://www.compaq.com/
You must configure the SRM firmware to load the file /alpha/bootal‐
phapc. The following commands may be used (replace ewa0 with the name
of your ethernet device, if different):
set boot_reset ON
set boot_file /alpha/bootalphapc
set bootdef_dev ewa0
set ewa0_inet_init bootp
set ewa0_protocols BOOTP
This secondary bootstrap program will first load the file /al‐
pha/conf/<IP-address> (substituting the IP address of the system as ob‐
tained via bootp). This file is expected to be in plan9.ini(8) format
(the file /alpha/conf/10.0.0.2 may be used as a template). It then
loads the kernel via tftp, using the value of bootfile to tell it which
file to load; this should be /alpha/9apc for terminals.
CPU Servers
The Plan 9 CPU servers are multi-user, so they do not request a user
name when booting.
PC CPU Server
Proceed as for the PC terminal, but load /386/9pccpuf .
Alpha PC CPU Server
Proceed as for the Alpha PC terminal, but use /alpha/9apccpu as the
value of bootfile.
SGI Challenge multiprocessor CPU Server
The Challenge ROM monitor can boot from the Ethernet. To boot from the
Ethernet, type
bootp()/mips/9ch
or use the ROM command setenv to set the variable bootfile to that same
string and type boot. To load a different file, tell bootp which file
to load, and to force the download to come from a particular system,
bootp()system:file. Any arguments after bootp()file are passed to
/boot. If you are running a Plan 9 BOOTP server (see dhcpd(8)), the
file name can be omitted and the file specified by the bootf parameter
for the machine in /lib/ndb will be downloaded by default.
Once the kernel is loaded, it prompts for the Ethernet protocol to use
to reach the root file server; request the default.
ARM CPU Servers
All ARM systems are started by U-boot using similar commands. The ker‐
nels (and thus ndb parameters) are for the Marvell PXA168-based Guru‐
plug Display, for all Marvell Kirkwood plugs (Sheevaplug, Guruplug,
Openrd, etc.), and for TI OMAP3 boards (IGEPv2 from ISEE, Gumstix
Overo). In the following, replace MAC with your board's MAC address
without colons, in lower case (the format of the ndb attribute).
First, establish a /cfg/pxe (plan9.ini) file for the new CPU server.
For Kirkwood plugs,
cd /cfg/pxe; cp example-kw MAC
and edit to taste. For PXA plugs, replace with for OMAP boards, re‐
place with and be sure to edit the line for to set
ea=MAC
Second, configure U-boot to load the appropriate kernel and /cfg/pxe
file at suitable addresses and start the kernel. For Sheevaplugs and
Openrd boards, type this at U-boot once:
setenv bootdelay 2
# type the next two lines as one
setenv bootcmd 'bootp; bootp; tftp 0x1000 /cfg/pxe/MAC; bootp;
tftp 0x800000; go 0x800000'
saveenv
For Guruplugs Displays, do the same but type this after instead:
'dhcp; tftpboot; tftpboot 0x1000 /cfg/pxe/MAC; bootz 0x500000'
For Kirkwood Guruplugs, type this after
'dhcp 0x800000; tftp 0x1000 /cfg/pxe/MAC; go 0x800000'
For IGEPv2 boards, type this after
'tftp 0x80300000 /cfg/pxe/MAC; dhcp 0x80310000; go 0x80310000'
For Gumstix Overo boards, type this after
'bootp 0x80310000; bootp 0x80300000 /cfg/pxe/MAC; go 0x80310000'
Thereafter, the boards will automatically boot via BOOTP and TFTP when
reset.
SEE ALSO
ndb(6), 9boot(8), boot(8), init(8), plan9.ini(8)
SOURCE
Sources for the various boot programs are under /sys/src/boot.
BOOTING(8)