summaryrefslogtreecommitdiff
path: root/sys/man/8/booting
blob: 34a121b12f2eb272462f5219b64e2d0fac0beb20 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
.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/9pcf
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 load
.B /386/9pccpuf .
.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 .