be7f3fb5e4
there isnt much of a point in keep maintaining separate kernel configurations for terminal and cpu kernels as the role can be switched with service=cpu boot parameter. to make stuff cosistent, we will just have one "pc" kernel and one "pc64" kernel configuration now.
196 lines
3.9 KiB
Text
196 lines
3.9 KiB
Text
.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.
|
|
.SS PCs
|
|
On a PC, the
|
|
.IR 9boot (8)
|
|
program is used to load the kernel
|
|
.B /386/9pc
|
|
into memory.
|
|
.PP
|
|
Once the kernel is booted, it behaves like the others.
|
|
See
|
|
.IR boot (8)
|
|
for details.
|
|
.SS CPU Servers
|
|
The Plan 9 CPU servers are multi-user, so they do not request a user name
|
|
when booting.
|
|
.SS PC CPU Server
|
|
Proceed as for the PC terminal, but have
|
|
.B service=cpu
|
|
set in
|
|
.IR plan9.ini (8).
|
|
.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
|
|
.B /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.
|
|
.
|
|
.SS ARM CPU Servers
|
|
All ARM systems are started by
|
|
.I U-boot
|
|
using similar commands.
|
|
The kernels
|
|
(and thus
|
|
.I ndb
|
|
.L bootf
|
|
parameters)
|
|
are
|
|
.L /arm/9gd
|
|
for the Marvell PXA168-based Guruplug Display,
|
|
.L /arm/9plug
|
|
for all Marvell Kirkwood plugs (Sheevaplug, Guruplug, Openrd, etc.),
|
|
and
|
|
.L /arm/9beagle
|
|
for TI OMAP3 boards (IGEPv2 from ISEE, Gumstix Overo).
|
|
In the following,
|
|
replace
|
|
.I MAC
|
|
with your board's MAC address without colons,
|
|
in lower case
|
|
(the format of the
|
|
.L ether
|
|
.I ndb
|
|
attribute).
|
|
.PP
|
|
First, establish a
|
|
.I /cfg/pxe
|
|
(\c
|
|
.IR plan9.ini )
|
|
file for the new CPU server.
|
|
For Kirkwood plugs,
|
|
.IP
|
|
.EX
|
|
cd /cfg/pxe; cp example-kw \fIMAC
|
|
.EE
|
|
.PP
|
|
and edit
|
|
.L /cfg/pxe/\fIMAC
|
|
to taste.
|
|
For PXA plugs, replace
|
|
.L kw
|
|
with
|
|
.LR pxa ;
|
|
for OMAP boards, replace
|
|
.L kw
|
|
with
|
|
.LR omap
|
|
and
|
|
be sure to edit the line for
|
|
.L ether0
|
|
to set
|
|
.IP
|
|
.EX
|
|
ea=\fIMAC
|
|
.EE
|
|
.PP
|
|
Second,
|
|
configure
|
|
.I U-boot
|
|
to load the appropriate kernel and
|
|
.I /cfg/pxe
|
|
file at suitable addresses and start the kernel.
|
|
For Sheevaplugs and Openrd boards,
|
|
type this at U-boot once:
|
|
.IP
|
|
.EX
|
|
setenv bootdelay 2
|
|
# \fItype the next two lines as one\fP
|
|
setenv bootcmd 'bootp; bootp; tftp 0x1000 /cfg/pxe/\fIMAC\fP; bootp;
|
|
tftp 0x800000; go 0x800000'
|
|
saveenv
|
|
.EE
|
|
.PP
|
|
For Guruplugs Displays,
|
|
do the same but type this after
|
|
.L "setenv bootcmd"
|
|
instead:
|
|
.IP
|
|
.EX
|
|
\&'dhcp; tftpboot; tftpboot 0x1000 /cfg/pxe/\fIMAC\fP; bootz 0x500000'
|
|
.EE
|
|
.PP
|
|
For Kirkwood Guruplugs,
|
|
type this after
|
|
.LR "setenv bootcmd" :
|
|
.IP
|
|
.EX
|
|
\&'dhcp 0x800000; tftp 0x1000 /cfg/pxe/\fIMAC\fP; go 0x800000'
|
|
.EE
|
|
.PP
|
|
For IGEPv2 boards,
|
|
type this after
|
|
.LR "setenv bootcmd" :
|
|
.IP
|
|
.EX
|
|
\&'tftp 0x80300000 /cfg/pxe/\fIMAC\fP; dhcp 0x80310000; go 0x80310000'
|
|
.EE
|
|
.PP
|
|
For Gumstix Overo boards,
|
|
type this after
|
|
.LR "setenv bootcmd" :
|
|
.IP
|
|
.EX
|
|
\&'bootp 0x80310000; bootp 0x80300000 /cfg/pxe/\fIMAC\fP; go 0x80310000'
|
|
.EE
|
|
.PP
|
|
Thereafter, the boards will automatically boot via BOOTP and TFTP
|
|
when reset.
|
|
.
|
|
.SH "SEE ALSO"
|
|
.IR ndb (6),
|
|
.IR 9boot (8),
|
|
.IR boot (8),
|
|
.IR init (8),
|
|
.IR plan9.ini (8)
|
|
.SH SOURCE
|
|
Sources for the various boot programs are under
|
|
.BR /sys/src/boot .
|