Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
.TH BOOTING 8
2
.SH NAME
3
booting \- bootstrapping procedures
4
.SH SYNOPSIS
5
none
6
.SH DESCRIPTION
7
This manual page collects the incantations required to bootstrap Plan 9 machines.
8
Some of the information here is specific to the installation at Bell Labs;
9
some is generic.
10
.PP
11
If a CPU server is up, BOOTP/DHCP and TFTP will run from there;
12
if not, the necessary files and services must be available on a separate machine,
13
such as a Unix system, to use these protocols for bootstrapping.
14
.PP
15
Be sure to read
16
.IR boot (8)
17
to understand what happens after the kernel is loaded.
18
.SS Terminals
19
To bootstrap a diskless terminal or a CPU server, a file server must be running.
20
PCs can boot from a floppy disk or any FAT16 partition.
21
On all the terminals, typing two control-T's followed by a lower-case
22
.B r
23
reboots the machine;
24
other methods of rebooting are mentioned for some machines.
25
.SS PCs
26
To boot a PC, it is necessary to get
27
.B /386/9boot
28
or
29
.B /386/9load
30
loaded into memory.
31
There are many ways to do this.  A Plan 9 boot floppy prepared by
32
.B format
33
(see
34
.IR prep (8))
35
will load
36
.B 9load
37
when the PC is reset or powered on.
38
Other methods are described in 
39
.IR 9boot (8).
40
.I 9boot
41
or
42
.I 9load
43
then locates and loads a Plan 9 kernel, using configuration information
44
from the matching file in
45
.B /cfg/pxe
46
.RI ( 9boot )
47
or the file
48
.B plan9.ini
49
stored in the
50
.B 9fat
51
configuration partition or on a DOS file system
52
.RI ( 9load ).
53
See 
54
.IR 9boot (8)
55
for details.
56
.PP
57
Once the kernel is booted, it behaves like the others.
58
See
59
.IR boot (8)
60
for details.
61
.SS CPU Servers
62
The Plan 9 CPU servers are multi-user, so they do not request a user name
63
when booting.
64
On the CPU servers, typing a control-P on the console reboots the machine.
65
.SS PC CPU Server
66
Proceed as for the PC terminal, but load
67
.B /386/9pccpu
68
or
69
.BR /386/9pccpudisk .
70
.
71
.SS MIPS Routerboard CPU Server
72
Configure RouterBOOT via the serial port (115200 baud)
73
to always boot from Ethernet via DHCP and TFTP, and arrange to load the ELF executable
74
.B /mips/9rb
75
in
76
.IR ndb (6).
77
.
78
.SS ARM Systems
79
All ARM systems are started by
80
.I U-boot
81
using similar commands.
82
The kernels
83
(and thus
84
.I ndb
85
.L bootf
86
parameters)
87
are
88
.TF /arm/9beagl
89
.TP
90
.L /arm/9gd
91
for the Marvell PXA168-based Guruplug Display
92
.TP
93
.L /arm/9plug
94
for other Marvell Kirkwoods (Sheevaplug, Guruplug, Dreamplug, Openrd, etc.)
95
.TP
96
.L /arm/9beagle
97
for TI OMAP3 boards (IGEPv2 from ISEE, Gumstix Overo)
98
.TP
99
.L /arm/9ts
100
for Trimslice systems, which contain the Nvidia Tegra 2
101
.TP
102
.L /arm/9pi
103
.TP
104
.L /arm/9picpu
105
for Raspberry Pis
106
.PD
107
.LP
108
In the following,
109
replace
110
.I MAC
111
with your board's MAC address without colons,
112
in lower case
113
(the format of the
114
.L ether
115
.I ndb
116
attribute).
117
If loading from a non-Plan-9
118
TFTP server,
119
replace
120
.L %C
121
with
122
.BI /cfg/pxe/ MAC.
123
.PP
124
First, establish a
125
.I /cfg/pxe
126
(\c
127
.IR plan9.ini )
128
file for the new CPU server.
129
For Kirkwood plugs,
130
.IP
131
.EX
132
cd /cfg/pxe; cp example-kw \fIMAC
133
.EE
134
.PP
135
and edit
136
.L /cfg/pxe/\fIMAC
137
to taste.
138
For PXA plugs, replace
139
.L kw
140
with
141
.LR pxa ;
142
for OMAP boards, replace
143
.L kw
144
with
145
.LR omap
146
and
147
be sure to edit the line for
148
.L ether0
149
to set
150
.IP
151
.EX
152
ea=\fIMAC
153
.EE
154
.PP
155
Second,
156
configure
157
.I U-boot
158
to load the appropriate kernel and
159
.I /cfg/pxe
160
file at suitable addresses and start the kernel.
161
For Sheevaplugs and Openrd boards,
162
type this at U-boot once:
163
.IP
164
.EX
165
setenv bootdelay 2
166
# \fItype the next two lines as one\fP
167
setenv bootcmd 'bootp; bootp; tftp 0x1000 %C; bootp; tftp 0x800000;
168
	go 0x800000'
169
saveenv
170
.EE
171
.PP
172
For Guruplugs Displays,
173
do the same but type this after
174
.L "setenv bootcmd"
175
instead:
176
.IP
177
.EX
178
\&'dhcp; tftpboot; tftpboot 0x1000 %C; bootz 0x500000'
179
.EE
180
.PP
181
For Kirkwood Guruplugs,
182
type this after
183
.LR "setenv bootcmd" :
184
.IP
185
.EX
186
\&'dhcp 0x800000; tftp 0x1000 %C; go 0x800000'
187
.EE
188
.PP
189
For IGEPv2 boards,
190
type this after
191
.LR "setenv bootcmd" :
192
.IP
193
.EX
194
\&'tftp 0x80300000 %C; dhcp 0x80310000; go 0x80310000'
195
.EE
196
.PP
197
For Gumstix Overo boards,
198
type this after
199
.LR "setenv bootcmd" :
200
.IP
201
.EX
202
\&'bootp 0x80310000; bootp 0x80300000 %C; go 0x80310000'
203
.EE
204
.PP
205
For Trimslice systems,
206
type this after
207
.LR "setenv bootcmd" :
208
.IP
209
.EX
210
\&'dhcp; dhcp; tftpboot 0x410000; tftpboot 0x400000 %C; go 0x410000'
211
.EE
212
.PP
213
For Raspberry Pis,
214
.I gunzip
215
the
216
.B pi.uboot.sd.img.gz
217
named below onto an SD card and insert that into your Pi.
218
.PP
219
Thereafter, the boards will automatically boot via BOOTP and TFTP
220
when reset.
221
.
222
.SH FILES
223
.B /n/sources/extra/pi.uboot.sd.img.gz
224
is a compressed bootable SD card image for Raspberry Pi, uses PXE booting.
225
.SH SOURCE
226
.B /sys/src/boot
227
.br
228
.B /sys/src/9/pcboot
229
.SH "SEE ALSO"
230
.IR ndb (6),
231
.IR 9boot (8),
232
.IR boot (8),
233
.IR init (8),
234
.IR plan9.ini (8)