]> git.lizzy.rs Git - plan9front.git/blob - sys/man/8/booting
ajust booting(8) to 9boot reality
[plan9front.git] / sys / man / 8 / booting
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 .SS PCs
21 On a PC, the
22 .IR 9boot (8)
23 program is used to load the kernel
24 .B /386/9pcf
25 into memory.
26 .PP
27 Once the kernel is booted, it behaves like the others.
28 See
29 .IR boot (8)
30 for details.
31 .SS Alpha PCs
32 Alpha PCs must be booted via TFTP using the SRM console.
33 If the system has ARC firmware instead, SRM may be downloaded from
34 .IP
35 .EX
36 http://www.compaq.com/
37 .EE
38 .PP
39 You must configure the SRM firmware to load the file
40 .BR /alpha/bootalphapc .
41 The following commands may be used (replace
42 .B ewa0
43 with the name of your ethernet device, if different):
44 .IP
45 .EX
46 set boot_reset ON
47 set boot_file /alpha/bootalphapc
48 set bootdef_dev ewa0
49 set ewa0_inet_init bootp
50 set ewa0_protocols BOOTP
51 .EE
52 .PP
53 This secondary bootstrap program will first load the file
54 .BR /alpha/conf/ <IP-address>
55 (substituting the IP address of the system as obtained via bootp).
56 This file is expected to be in
57 .IR plan9.ini (8)
58 format (the file
59 .B /alpha/conf/10.0.0.2
60 may be used as a template).
61 It then loads the kernel via tftp, using the value of
62 .B bootfile
63 to tell it which file to load; this should be
64 .B /alpha/9apc
65 for terminals.
66 .SS CPU Servers
67 The Plan 9 CPU servers are multi-user, so they do not request a user name
68 when booting.
69 .SS PC CPU Server
70 Proceed as for the PC terminal, but load
71 .B /386/9pccpuf .
72 .SS Alpha PC CPU Server
73 Proceed as for the Alpha PC terminal, but use
74 .B /alpha/9apccpu
75 as the value of
76 .BR bootfile .
77 .SS SGI Challenge multiprocessor CPU Server
78 The Challenge ROM monitor can boot from the Ethernet.
79 To boot from the Ethernet, type
80 .IP
81 .EX
82 .B bootp()/mips/9ch
83 .EE
84 .PP
85 or use the ROM command
86 .B setenv
87 to set the variable
88 .B bootfile
89 to that same string and type
90 .BR boot .
91 To load a different file, tell
92 .B bootp
93 which file to load,
94 and to force the download to come from a particular system,
95 .BR bootp()system:file .
96 Any arguments after
97 .B bootp()file
98 are passed to
99 .BR /boot .
100 If you are running a Plan 9
101 .SM BOOTP
102 server (see
103 .IR dhcpd (8)),
104 the file name can be omitted and the
105 file specified by the
106 .B bootf
107 parameter for the machine in
108 .B /lib/ndb
109 will be downloaded by default.
110 .PP
111 Once the kernel is loaded,
112 it prompts for the Ethernet
113 protocol to use to reach the root file server; request the default.
114 .
115 .SS ARM CPU Servers
116 All ARM systems are started by
117 .I U-boot
118 using similar commands.
119 The kernels
120 (and thus
121 .I ndb
122 .L bootf
123 parameters)
124 are
125 .L /arm/9gd
126 for the Marvell PXA168-based Guruplug Display,
127 .L /arm/9plug
128 for all Marvell Kirkwood plugs (Sheevaplug, Guruplug, Openrd, etc.),
129 and
130 .L /arm/9beagle
131 for TI OMAP3 boards (IGEPv2 from ISEE, Gumstix Overo).
132 In the following,
133 replace
134 .I MAC
135 with your board's MAC address without colons,
136 in lower case
137 (the format of the
138 .L ether
139 .I ndb
140 attribute).
141 .PP
142 First, establish a
143 .I /cfg/pxe
144 (\c
145 .IR plan9.ini )
146 file for the new CPU server.
147 For Kirkwood plugs,
148 .IP
149 .EX
150 cd /cfg/pxe; cp example-kw \fIMAC
151 .EE
152 .PP
153 and edit
154 .L /cfg/pxe/\fIMAC
155 to taste.
156 For PXA plugs, replace
157 .L kw
158 with
159 .LR pxa ;
160 for OMAP boards, replace
161 .L kw
162 with
163 .LR omap
164 and
165 be sure to edit the line for
166 .L ether0
167 to set
168 .IP
169 .EX
170 ea=\fIMAC
171 .EE
172 .PP
173 Second,
174 configure
175 .I U-boot
176 to load the appropriate kernel and
177 .I /cfg/pxe
178 file at suitable addresses and start the kernel.
179 For Sheevaplugs and Openrd boards,
180 type this at U-boot once:
181 .IP
182 .EX
183 setenv bootdelay 2
184 # \fItype the next two lines as one\fP
185 setenv bootcmd 'bootp; bootp; tftp 0x1000 /cfg/pxe/\fIMAC\fP; bootp;
186         tftp 0x800000; go 0x800000'
187 saveenv
188 .EE
189 .PP
190 For Guruplugs Displays,
191 do the same but type this after
192 .L "setenv bootcmd"
193 instead:
194 .IP
195 .EX
196 \&'dhcp; tftpboot; tftpboot 0x1000 /cfg/pxe/\fIMAC\fP; bootz 0x500000'
197 .EE
198 .PP
199 For Kirkwood Guruplugs,
200 type this after
201 .LR "setenv bootcmd" :
202 .IP
203 .EX
204 \&'dhcp 0x800000; tftp 0x1000 /cfg/pxe/\fIMAC\fP; go 0x800000'
205 .EE
206 .PP
207 For IGEPv2 boards,
208 type this after
209 .LR "setenv bootcmd" :
210 .IP
211 .EX
212 \&'tftp 0x80300000 /cfg/pxe/\fIMAC\fP; dhcp 0x80310000; go 0x80310000'
213 .EE
214 .PP
215 For Gumstix Overo boards,
216 type this after
217 .LR "setenv bootcmd" :
218 .IP
219 .EX
220 \&'bootp 0x80310000; bootp 0x80300000 /cfg/pxe/\fIMAC\fP; go 0x80310000'
221 .EE
222 .PP
223 Thereafter, the boards will automatically boot via BOOTP and TFTP
224 when reset.
225 .
226 .SH "SEE ALSO"
227 .IR ndb (6),
228 .IR 9boot (8),
229 .IR boot (8),
230 .IR init (8),
231 .IR plan9.ini (8)
232 .SH SOURCE
233 Sources for the various boot programs are under
234 .BR /sys/src/boot .