Initial import from FreeBSD RELENG_4:
[dragonfly.git] / sbin / reboot / boot_pc32.8
1 .\" Copyright (c) 1991, 1993
2 .\"     The Regents of the University of California.  All rights reserved.
3 .\"
4 .\" This code is derived from software written and contributed
5 .\" to Berkeley by William Jolitz.
6 .\"
7 .\" Almost completely rewritten for FreeBSD 2.1 by Joerg Wunsch.
8 .\"
9 .\" Substantially revised for FreeBSD 3.1 by Robert Nordier.
10 .\"
11 .\" Redistribution and use in source and binary forms, with or without
12 .\" modification, are permitted provided that the following conditions
13 .\" are met:
14 .\" 1. Redistributions of source code must retain the above copyright
15 .\"    notice, this list of conditions and the following disclaimer.
16 .\" 2. Redistributions in binary form must reproduce the above copyright
17 .\"    notice, this list of conditions and the following disclaimer in the
18 .\"    documentation and/or other materials provided with the distribution.
19 .\" 3. All advertising materials mentioning features or use of this software
20 .\"    must display the following acknowledgement:
21 .\"     This product includes software developed by the University of
22 .\"     California, Berkeley and its contributors.
23 .\" 4. Neither the name of the University nor the names of its contributors
24 .\"    may be used to endorse or promote products derived from this software
25 .\"    without specific prior written permission.
26 .\"
27 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
28 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
30 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
31 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
32 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
33 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
34 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
35 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
36 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
37 .\" SUCH DAMAGE.
38 .\"
39 .\"     @(#)boot_i386.8 8.2 (Berkeley) 4/19/94
40 .\"
41 .\" $FreeBSD: src/sbin/reboot/boot_i386.8,v 1.23.2.11 2002/04/24 17:47:58 rnordier Exp $
42 .\"
43 .Dd April 19, 1994
44 .Dt BOOT 8 i386
45 .Os
46 .Sh NAME
47 .Nm boot
48 .Nd system bootstrapping procedures
49 .Sh DESCRIPTION
50 .Sy Power fail and crash recovery .
51 Normally, the system will reboot itself at power-up or after crashes.
52 An automatic consistency check of the file systems will be performed,
53 and unless this fails, the system will resume multi-user operations.
54 .Pp
55 .Sy Cold starts .
56 Most i386 PCs attempt to boot first from floppy disk drive 0 (sometimes
57 known as drive A:) and, failing that, from hard disk drive 0 (sometimes
58 known as drive C:, or as drive 0x80 to the BIOS).  Some BIOSes allow
59 you to change this default sequence, and may also include a CD-ROM
60 drive as a boot device.
61 .Pp
62 By default, a three-stage bootstrap is employed, and control is
63 automatically passed from the boot blocks (bootstrap stages one and
64 two) to a separate third-stage bootstrap program,
65 .Xr loader 8 .
66 This third stage provides more sophisticated control over the booting
67 process than it is possible to achieve in the boot blocks, which are
68 constrained by occupying limited fixed space on a given disk or slice.
69 .Pp
70 However, it is possible to dispense with the third stage altogether,
71 either by specifying a kernel name in the boot block parameter
72 file,
73 .Pa /boot.config ,
74 or, unless option
75 .Fl n
76 is set, by hitting a key during a brief pause (while one of the characters
77 .Sy - ,
78 .Sy \e ,
79 .Sy \&| ,
80 or
81 .Sy /
82 is displayed) before
83 .Xr loader 8
84 is invoked.  Booting will also be attempted at stage two, if the
85 third stage cannot be loaded.
86 .Pp
87 The remainder of this subsection deals only with the boot blocks.  The
88 .Xr loader 8
89 program is documented separately.
90 .Pp
91 After the boot blocks have been loaded,
92 you should see a prompt similar to the following:
93 .Bd -literal
94 >> FreeBSD/i386 BOOT
95 Default: 0:ad(0,a)/kernel
96 boot:
97 .Ed
98 .Pp
99 The automatic boot will attempt to load
100 .Pa /kernel
101 from partition
102 .Ql a
103 of either the floppy or the hard disk.
104 This boot may be aborted by typing any character on the keyboard
105 at the
106 .Ql boot:
107 prompt.  At this time, the following input will be accepted:
108 .Bl -tag -width indent
109 .It Ic \&?
110 Give a short listing of the files in the root directory of the default
111 boot device, as a hint about available boot files.  (A
112 .Ic ?\&
113 may also be specified as the last segment of a path, in which case
114 the listing will be of the relevant subdirectory.)
115 .Pp
116 .It Xo
117 .Ar bios_drive : Ns Ar interface Ns Po
118 .Ar unit , Ns Ar part Pc
119 .Ar filename
120 .Op Fl aCcDdghnPprsv
121 .Xc
122 Specify boot file and flags.
123 .Bl -tag -width indent
124 .It Ar bios_drive
125 The drive number as recognized by the BIOS.
126 0 for the first drive, 1 for the second drive, etc.
127 .It Ar interface
128 The type of controller to boot from.  Note that the controller is required
129 to have BIOS support since the BIOS services are used to load the
130 boot file image.
131 .Pp
132 The supported interfaces are:
133 .Pp
134 .Bl -tag -width "adXX" -compact
135 .It ad
136 ST506, IDE, ESDI, RLL disks on a WD100[2367] or lookalike
137 controller
138 .It fd
139 5 1/4" or 3 1/2" High density floppies
140 .It da
141 SCSI disk on any supported SCSI controller
142 .\".It cd
143 .\"boot from CDROM
144 .El
145 .It Ar unit
146 The unit number of the drive on the interface being used.
147 0 for the first drive, 1 for the second drive, etc.
148 .It Ar part
149 The partition letter inside the
150 .Bx
151 portion of the disk.  See
152 .Xr disklabel 8 .
153 By convention, only partition
154 .Ql a
155 contains a bootable image.  If sliced disks are used
156 .Pq Dq fdisk partitions ,
157 any slice can be booted from, with the default being the active slice
158 or, otherwise, the first
159 .Fx
160 slice.
161 .It Ar filename
162 The pathname of the file to boot (relative to the root directory
163 on the specified partition).  Defaults to
164 .Pa /kernel .
165 Symbolic links are not supported (hard links are).
166 .It Fl acCdDghnPrsv
167 Boot flags:
168 .Pp
169 .Bl -tag -width "-CXX" -compact
170 .It Fl a
171 during kernel initialization,
172 ask for the device to mount as the root file system.
173 .It Fl C
174 boot from CDROM.
175 .It Fl c
176 run UserConfig to modify hardware parameters for the loaded
177 kernel.  If the kernel was built with one of
178 .Dv USERCONFIG , INTRO_USERCONFIG , VISUAL_USERCONFIG
179 options,
180 remain in UserConfig regardless of any
181 .Ic quit
182 commands present in the script.
183 .It Fl D
184 toggle single and dual console configurations.  In the single
185 configuration the console will be either the internal display
186 or the serial port, depending on the state of the
187 .Fl h
188 option below.  In the dual console configuration,
189 both the internal display and the serial port will become the console
190 at the same time, regardless of the state of the
191 .Fl h
192 option.  However, the dual console configuration takes effect only during
193 the boot prompt.  Once the kernel is loaded, the console specified
194 by the
195 .Fl h
196 option becomes the only console.
197 .It Fl d
198 enter the DDB kernel debugger
199 (see
200 .Xr ddb 4 )
201 as early as possible in kernel initialization.
202 .It Fl g
203 use the GDB remote debugging protocol.
204 .It Fl h
205 toggle internal and serial consoles.  You can use this to switch
206 console devices.  For instance, if you boot from the internal console,
207 you can use the
208 .Fl h
209 option to force the kernel to use the serial port as its
210 console device.  Alternatively, if you boot from the serial port,
211 you can use this option to force the kernel to use the internal display
212 as the console instead.
213 The serial port driver
214 .Xr sio 4
215 has a flag to override this option.
216 If that flag is set, the serial port will always be used as the console,
217 regardless of the
218 .Fl h
219 option described here.  See the man page for
220 .Xr sio 4
221 for more details.
222 .It Fl n
223 ignore key press to interrupt boot before loader(8) is invoked.
224 .It Fl P
225 probe the keyboard.  If no keyboard is found, the
226 .Fl D
227 and
228 .Fl h
229 options are automatically set.
230 .It Fl p
231 pause after each attached device during the device probing phase.
232 .It Fl r
233 use the statically configured default for the device containing the
234 root file system
235 (see
236 .Xr config 8 ) .
237 Normally, the root file system is on the device
238 that the kernel was loaded from.
239 .It Fl s
240 boot into single-user mode; if the console is marked as
241 .Dq insecure
242 (see
243 .Xr ttys 5 ) ,
244 the root password must be entered.
245 .It Fl v
246 be verbose during device probing (and later).
247 .El
248 .El
249 .El
250 .Pp
251 You may put a BIOS drive number, a controller type, a unit number,
252 a partition, a kernel file name, and any valid option in
253 .Pa /boot.config
254 to set defaults.  Enter them in one line just as you type at the
255 .Ql boot:
256 prompt.
257 .Sh FILES
258 .Bl -tag -width /boot/loader -compact
259 .It Pa /boot.config
260 parameters for the boot blocks (optional)
261 .It Pa /boot/boot1
262 first stage bootstrap file
263 .It Pa /boot/boot2
264 second stage bootstrap file
265 .It Pa /boot/loader
266 third stage bootstrap
267 .It Pa /kernel
268 default kernel
269 .It Pa /kernel.old
270 typical non-default kernel (optional)
271 .El
272 .Sh SEE ALSO
273 .Xr ddb 4 ,
274 .Xr ttys 5 ,
275 .Xr boot0cfg 8 ,
276 .Xr btxld 8 ,
277 .Xr config 8 ,
278 .Xr disklabel 8 ,
279 .Xr halt 8 ,
280 .Xr loader 8 ,
281 .Xr reboot 8 ,
282 .Xr shutdown 8
283 .Sh DIAGNOSTICS
284 When disk-related errors occur, these are reported by the second-stage
285 bootstrap using the same error codes returned by the BIOS, for example
286 .Dq Disk error 0x1 (lba=0x12345678) .
287 Here is a partial list of these error codes:
288 .Pp
289 .Bl -tag -width "0x80" -compact
290 .It 0x1
291 Invalid argument
292 .It 0x2
293 Address mark not found
294 .It 0x4
295 Sector not found
296 .It 0x8
297 DMA overrun
298 .It 0x9
299 DMA attempt across 64K boundary
300 .It 0xc
301 Invalid media
302 .It 0x10
303 Uncorrectable CRC/ECC error
304 .It 0x20
305 Controller failure
306 .It 0x40
307 Seek failed
308 .It 0x80
309 Timeout
310 .El
311 .Pp
312 .Sy "NOTE" :
313 On older machines, or otherwise where EDD support (disk packet
314 interface support) is not available, all boot-related files and
315 structures (including the kernel) that need to be accessed during the
316 boot phase must reside on the disk at or below cylinder 1023 (as the
317 BIOS understands the geometry).  When a
318 .Dq Disk error 0x1
319 is reported by the second-stage bootstrap, it generally means that this
320 requirement has not been adhered to.
321 .Sh BUGS
322 The
323 .Xr disklabel 5
324 format used by this version of
325 .Bx
326 is quite
327 different from that of other architectures.
328 .Pp
329 Due to space constraints, the keyboard probe initiated by the
330 .Fl P
331 option is simply a test that the BIOS has detected an
332 .Dq extended
333 keyboard.  If an
334 .Dq XT/AT
335 keyboard (with no F11 and F12 keys, etc.) is attached, the probe will
336 fail.
337 .Pp
338 Some features are not yet documented.