xref: /dflybsd-src/sbin/reboot/boot_pc64.8 (revision c1e978a9f48473a9d004288577b35649c750ccf5)
17a9348d9SSascha Wildner.\" Copyright (c) 1991, 1993
27a9348d9SSascha Wildner.\"	The Regents of the University of California.  All rights reserved.
37a9348d9SSascha Wildner.\"
47a9348d9SSascha Wildner.\" This code is derived from software written and contributed
57a9348d9SSascha Wildner.\" to Berkeley by William Jolitz.
67a9348d9SSascha Wildner.\"
77a9348d9SSascha Wildner.\" Almost completely rewritten for FreeBSD 2.1 by Joerg Wunsch.
87a9348d9SSascha Wildner.\"
97a9348d9SSascha Wildner.\" Substantially revised for FreeBSD 3.1 by Robert Nordier.
107a9348d9SSascha Wildner.\"
117a9348d9SSascha Wildner.\" Redistribution and use in source and binary forms, with or without
127a9348d9SSascha Wildner.\" modification, are permitted provided that the following conditions
137a9348d9SSascha Wildner.\" are met:
147a9348d9SSascha Wildner.\" 1. Redistributions of source code must retain the above copyright
157a9348d9SSascha Wildner.\"    notice, this list of conditions and the following disclaimer.
167a9348d9SSascha Wildner.\" 2. Redistributions in binary form must reproduce the above copyright
177a9348d9SSascha Wildner.\"    notice, this list of conditions and the following disclaimer in the
187a9348d9SSascha Wildner.\"    documentation and/or other materials provided with the distribution.
197a9348d9SSascha Wildner.\" 3. Neither the name of the University nor the names of its contributors
207a9348d9SSascha Wildner.\"    may be used to endorse or promote products derived from this software
217a9348d9SSascha Wildner.\"    without specific prior written permission.
227a9348d9SSascha Wildner.\"
237a9348d9SSascha Wildner.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
247a9348d9SSascha Wildner.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
257a9348d9SSascha Wildner.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
267a9348d9SSascha Wildner.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
277a9348d9SSascha Wildner.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
287a9348d9SSascha Wildner.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
297a9348d9SSascha Wildner.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
307a9348d9SSascha Wildner.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
317a9348d9SSascha Wildner.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
327a9348d9SSascha Wildner.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
337a9348d9SSascha Wildner.\" SUCH DAMAGE.
347a9348d9SSascha Wildner.\"
357a9348d9SSascha Wildner.\"     @(#)boot_i386.8	8.2 (Berkeley) 4/19/94
367a9348d9SSascha Wildner.\"
377a9348d9SSascha Wildner.\" $FreeBSD: src/sbin/reboot/boot_i386.8,v 1.23.2.11 2002/04/24 17:47:58 rnordier Exp $
387a9348d9SSascha Wildner.\"
39aadc0bd7SSascha Wildner.Dd March 3, 2020
407a9348d9SSascha Wildner.Dt BOOT 8
417a9348d9SSascha Wildner.Os
427a9348d9SSascha Wildner.Sh NAME
437a9348d9SSascha Wildner.Nm boot
447a9348d9SSascha Wildner.Nd system bootstrapping procedures
457a9348d9SSascha Wildner.Sh DESCRIPTION
467a9348d9SSascha Wildner.Sy Power fail and crash recovery .
477a9348d9SSascha WildnerNormally, the system will reboot itself at power-up or after crashes.
487a9348d9SSascha WildnerAn automatic consistency check of the file systems will be performed,
497a9348d9SSascha Wildnerand unless this fails, the system will resume multi-user operations.
507a9348d9SSascha Wildner.Pp
517a9348d9SSascha Wildner.Sy Cold starts .
52cf37dc20SSascha WildnerMost PCs attempt to boot first from hard disk drive 0 (sometimes
53cf37dc20SSascha Wildnerknown as drive C:) and, failing that, from various other mass storage
54cf37dc20SSascha Wildnerdevices.
55cf37dc20SSascha WildnerUsually, BIOSes allow
56cf37dc20SSascha Wildneryou to change this default sequence, and typically also include a CD-ROM
577a9348d9SSascha Wildnerdrive as a boot device.
587a9348d9SSascha Wildner.Pp
59d195d509SSascha WildnerNewer PCs boot using UEFI firmware, not legacy BIOS.
60d195d509SSascha WildnerThat process is described in
61d195d509SSascha Wildner.Xr uefi 8 .
62d195d509SSascha Wildner.Pp
637a9348d9SSascha WildnerBy default, a three-stage bootstrap is employed, and control is
647a9348d9SSascha Wildnerautomatically passed from the boot blocks (bootstrap stages one and
657a9348d9SSascha Wildnertwo) to a separate third-stage bootstrap program,
667a9348d9SSascha Wildner.Xr loader 8 .
677a9348d9SSascha WildnerThis third stage provides more sophisticated control over the booting
687a9348d9SSascha Wildnerprocess than it is possible to achieve in the boot blocks, which are
697a9348d9SSascha Wildnerconstrained by occupying limited fixed space on a given disk or slice.
707a9348d9SSascha Wildner.Pp
717a9348d9SSascha WildnerHowever, it is possible to dispense with the third stage altogether,
727a9348d9SSascha Wildnereither by specifying a kernel name in the boot block parameter
737a9348d9SSascha Wildnerfile,
747a9348d9SSascha Wildner.Pa /boot.config ,
757a9348d9SSascha Wildneror, unless option
767a9348d9SSascha Wildner.Fl n
777a9348d9SSascha Wildneris set, by hitting a key during a brief pause (while one of the characters
787a9348d9SSascha Wildner.Sy - ,
797a9348d9SSascha Wildner.Sy \e ,
807a9348d9SSascha Wildner.Sy \&| ,
817a9348d9SSascha Wildneror
827a9348d9SSascha Wildner.Sy /
837a9348d9SSascha Wildneris displayed) before
847a9348d9SSascha Wildner.Xr loader 8
857a9348d9SSascha Wildneris invoked.  Booting will also be attempted at stage two, if the
867a9348d9SSascha Wildnerthird stage cannot be loaded.
877a9348d9SSascha Wildner.Pp
887a9348d9SSascha WildnerThe remainder of this subsection deals only with the boot blocks.  The
897a9348d9SSascha Wildner.Xr loader 8
907a9348d9SSascha Wildnerprogram is documented separately.
917a9348d9SSascha Wildner.Pp
927a9348d9SSascha WildnerAfter the boot blocks have been loaded,
937a9348d9SSascha Wildneryou should see a prompt similar to the following:
947a9348d9SSascha Wildner.Bd -literal
957a9348d9SSascha WildnerDragonFly boot
967a9348d9SSascha Wildner0:ad(0,a)/boot/loader:
977a9348d9SSascha Wildner.Ed
987a9348d9SSascha Wildner.Pp
997a9348d9SSascha WildnerThe automatic boot will attempt to load
1007a9348d9SSascha Wildner.Pa /boot/loader
1017a9348d9SSascha Wildnerand if that fails
1027a9348d9SSascha Wildner.Pa /loader
1037a9348d9SSascha Wildnerfrom partition
1047a9348d9SSascha Wildner.Ql a
1057a9348d9SSascha Wildnerof either the floppy or the hard disk.
1067a9348d9SSascha WildnerThis boot may be aborted by typing any character on the keyboard
1077a9348d9SSascha Wildnerat the
1087a9348d9SSascha Wildner.Ql boot:
1097a9348d9SSascha Wildnerprompt.  At this time, the following input will be accepted:
1107a9348d9SSascha Wildner.Bl -tag -width indent
1117a9348d9SSascha Wildner.It Ic \&?
1127a9348d9SSascha WildnerGive a short listing of the files in the root directory of the default
1137a9348d9SSascha Wildnerboot device, as a hint about available boot files.  (A
1147a9348d9SSascha Wildner.Ic ?\&
1157a9348d9SSascha Wildnermay also be specified as the last segment of a path, in which case
1167a9348d9SSascha Wildnerthe listing will be of the relevant subdirectory.)
1177a9348d9SSascha Wildner.It Xo
1187a9348d9SSascha Wildner.Ar bios_drive : Ns Ar interface Ns Po
1197a9348d9SSascha Wildner.Ar unit , Ns Ar part Pc
1207a9348d9SSascha Wildner.Ar filename
1217a9348d9SSascha Wildner.Op Fl aCcDdghmnPprsVv
1227a9348d9SSascha Wildner.Xc
1237a9348d9SSascha WildnerSpecify boot file and flags.
1247a9348d9SSascha Wildner.Bl -tag -width indent
1257a9348d9SSascha Wildner.It Ar bios_drive
1267a9348d9SSascha WildnerThe drive number as recognized by the BIOS.
1277a9348d9SSascha Wildner0 for the first drive, 1 for the second drive, etc.
1287a9348d9SSascha Wildner.It Ar interface
1297a9348d9SSascha WildnerThe type of controller to boot from.  Note that the controller is required
1307a9348d9SSascha Wildnerto have BIOS support since the BIOS services are used to load the
1317a9348d9SSascha Wildnerboot file image.
1327a9348d9SSascha Wildner.Pp
1337a9348d9SSascha WildnerThe supported interfaces are:
1347a9348d9SSascha Wildner.Pp
1357a9348d9SSascha Wildner.Bl -tag -width "adXX" -compact
1367a9348d9SSascha Wildner.It ad
1377a9348d9SSascha WildnerST506, IDE, ESDI, RLL disks on a WD100[2367] or lookalike
1387a9348d9SSascha Wildnercontroller
1397a9348d9SSascha Wildner.It fd
1407a9348d9SSascha Wildner5 \(14" or 3 \(12" High density floppies
1417a9348d9SSascha Wildner.It da
1427a9348d9SSascha WildnerSCSI disk on any supported SCSI controller
1437a9348d9SSascha Wildner.\".It cd
1447a9348d9SSascha Wildner.\"boot from CDROM
1457a9348d9SSascha Wildner.El
1467a9348d9SSascha Wildner.It Ar unit
1477a9348d9SSascha WildnerThe unit number of the drive on the interface being used.
1487a9348d9SSascha Wildner0 for the first drive, 1 for the second drive, etc.
1497a9348d9SSascha Wildner.It Ar part
1507a9348d9SSascha WildnerThe partition letter inside the
1517a9348d9SSascha Wildner.Bx
1527a9348d9SSascha Wildnerportion of the disk.  See
1537a9348d9SSascha Wildner.Xr disklabel 8 .
1547a9348d9SSascha WildnerBy convention, only partition
1557a9348d9SSascha Wildner.Ql a
1567a9348d9SSascha Wildnercontains a bootable image.  If sliced disks are used
1577a9348d9SSascha Wildner.Pq Dq fdisk partitions ,
1587a9348d9SSascha Wildnerany slice can be booted from, with the default being the active slice
1597a9348d9SSascha Wildneror, otherwise, the first
1607a9348d9SSascha Wildner.Dx
1617a9348d9SSascha Wildnerslice.
1627a9348d9SSascha Wildner.It Ar filename
1637a9348d9SSascha WildnerThe pathname of the file to boot (relative to the root directory
1647a9348d9SSascha Wildneron the specified partition).  Defaults to
1657a9348d9SSascha Wildner.Pa /boot/kernel .
1667a9348d9SSascha WildnerSymbolic links are not supported (hard links are).
1677a9348d9SSascha Wildner.It Fl aCcDdghmnPprsVv
1687a9348d9SSascha WildnerBoot flags:
1697a9348d9SSascha Wildner.Pp
1707a9348d9SSascha Wildner.Bl -tag -width "-CXX" -compact
1717a9348d9SSascha Wildner.It Fl a
1727a9348d9SSascha Wildnerduring kernel initialization,
1737a9348d9SSascha Wildnerask for the device to mount as the root file system.
1747a9348d9SSascha Wildner.It Fl C
1757a9348d9SSascha Wildnerboot from CDROM.
1767a9348d9SSascha Wildner.It Fl D
1777a9348d9SSascha WildnerUse all available consoles as the system console.  Input will be accepted
1787a9348d9SSascha Wildneron any console and output will be routed to all of them.  This is the
1797a9348d9SSascha Wildnerdefault.
1807a9348d9SSascha Wildner.It Fl h
1817a9348d9SSascha WildnerUse the serial console as the system console.
1827a9348d9SSascha Wildner.It Fl V
1837a9348d9SSascha WildnerUse the video console as the system console.
1847a9348d9SSascha Wildner.It Fl m
1857a9348d9SSascha WildnerMute the system console.  None of the console devices will be used for the
1867a9348d9SSascha Wildnersystem console.
1877a9348d9SSascha Wildner.It Fl d
1887a9348d9SSascha Wildnerenter the DDB kernel debugger
1897a9348d9SSascha Wildner(see
1907a9348d9SSascha Wildner.Xr ddb 4 )
1917a9348d9SSascha Wildneras early as possible in kernel initialization.
1927a9348d9SSascha Wildner.It Fl g
1937a9348d9SSascha Wildneruse the GDB remote debugging protocol.
1947a9348d9SSascha Wildner.It Fl n
1957a9348d9SSascha Wildnerignore key press to interrupt boot before
1967a9348d9SSascha Wildner.Xr loader 8
1977a9348d9SSascha Wildneris invoked.
1987a9348d9SSascha Wildner.It Fl P
1997a9348d9SSascha Wildnerprobe the keyboard.  If no keyboard is found, the
2007a9348d9SSascha Wildner.Fl D
2017a9348d9SSascha Wildnerand
2027a9348d9SSascha Wildner.Fl h
2037a9348d9SSascha Wildneroptions are automatically set.
2047a9348d9SSascha Wildner.It Fl p
2057a9348d9SSascha Wildnerpause after each attached device during the device probing phase.
2067a9348d9SSascha Wildner.It Fl r
2077a9348d9SSascha Wildneruse the statically configured default for the device containing the
2087a9348d9SSascha Wildnerroot file system
2097a9348d9SSascha Wildner(see
2102835c7cdSSascha Wildner.Sq Cd options ROOTDEVNAME
211aadc0bd7SSascha Wildnerin the
212aadc0bd7SSascha Wildner.Pa LINT64
213aadc0bd7SSascha Wildnerkernel configuration file).
2147a9348d9SSascha WildnerNormally, the root file system is on the device
2157a9348d9SSascha Wildnerthat the kernel was loaded from.
2167a9348d9SSascha Wildner.It Fl s
2177a9348d9SSascha Wildnerboot into single-user mode; if the console is marked as
2187a9348d9SSascha Wildner.Dq insecure
2197a9348d9SSascha Wildner(see
2207a9348d9SSascha Wildner.Xr ttys 5 ) ,
2217a9348d9SSascha Wildnerthe root password must be entered.
2227a9348d9SSascha Wildner.It Fl v
2237a9348d9SSascha Wildnerbe verbose during device probing (and later).
2247a9348d9SSascha Wildner.El
2257a9348d9SSascha Wildner.El
2267a9348d9SSascha Wildner.El
2277a9348d9SSascha Wildner.Pp
2287a9348d9SSascha WildnerYou may put a BIOS drive number, a controller type, a unit number,
2297a9348d9SSascha Wildnera partition, a kernel file name, and any valid option in
2307a9348d9SSascha Wildner.Pa /boot.config
2317a9348d9SSascha Wildnerto set defaults.  Enter them in one line just as you type at the
2327a9348d9SSascha Wildner.Ql boot:
2337a9348d9SSascha Wildnerprompt.
2347a9348d9SSascha Wildner.Sh FILES
2357a9348d9SSascha Wildner.Bl -tag -width /boot/loader -compact
2367a9348d9SSascha Wildner.It Pa /boot.config
2377a9348d9SSascha Wildnerparameters for the boot blocks (optional)
2387a9348d9SSascha Wildner.It Pa /boot/boot1
2397a9348d9SSascha Wildnerfirst stage bootstrap file
2407a9348d9SSascha Wildner.It Pa /boot/boot2
2417a9348d9SSascha Wildnersecond stage bootstrap file
2427a9348d9SSascha Wildner.It Pa /boot/loader
2437a9348d9SSascha Wildnerthird stage bootstrap
2447a9348d9SSascha Wildner.It Pa /boot/kernel
2457a9348d9SSascha Wildnerdefault kernel
2467a9348d9SSascha Wildner.It Pa /boot/kernel.old
2477a9348d9SSascha Wildnertypical non-default kernel (optional)
2487a9348d9SSascha Wildner.El
2497a9348d9SSascha Wildner.Sh DIAGNOSTICS
2507a9348d9SSascha WildnerWhen disk-related errors occur, these are reported by the second-stage
2517a9348d9SSascha Wildnerbootstrap using the same error codes returned by the BIOS, for example
2527a9348d9SSascha Wildner.Dq Disk error 0x1 (lba=0x12345678) .
2537a9348d9SSascha WildnerHere is a partial list of these error codes:
2547a9348d9SSascha Wildner.Pp
2557a9348d9SSascha Wildner.Bl -tag -width "0x80" -compact
2567a9348d9SSascha Wildner.It 0x1
2577a9348d9SSascha WildnerInvalid argument
2587a9348d9SSascha Wildner.It 0x2
2597a9348d9SSascha WildnerAddress mark not found
2607a9348d9SSascha Wildner.It 0x4
2617a9348d9SSascha WildnerSector not found
2627a9348d9SSascha Wildner.It 0x8
2637a9348d9SSascha WildnerDMA overrun
2647a9348d9SSascha Wildner.It 0x9
2657a9348d9SSascha WildnerDMA attempt across 64K boundary
2667a9348d9SSascha Wildner.It 0xc
2677a9348d9SSascha WildnerInvalid media
2687a9348d9SSascha Wildner.It 0x10
2697a9348d9SSascha WildnerUncorrectable CRC/ECC error
2707a9348d9SSascha Wildner.It 0x20
2717a9348d9SSascha WildnerController failure
2727a9348d9SSascha Wildner.It 0x40
2737a9348d9SSascha WildnerSeek failed
2747a9348d9SSascha Wildner.It 0x80
2757a9348d9SSascha WildnerTimeout
2767a9348d9SSascha Wildner.El
2777a9348d9SSascha Wildner.Pp
2787a9348d9SSascha Wildner.Sy "NOTE" :
2797a9348d9SSascha WildnerOn older machines, or otherwise where EDD support (disk packet
2807a9348d9SSascha Wildnerinterface support) is not available, all boot-related files and
2817a9348d9SSascha Wildnerstructures (including the kernel) that need to be accessed during the
2827a9348d9SSascha Wildnerboot phase must reside on the disk at or below cylinder 1023 (as the
2837a9348d9SSascha WildnerBIOS understands the geometry).  When a
2847a9348d9SSascha Wildner.Dq Disk error 0x1
2857a9348d9SSascha Wildneris reported by the second-stage bootstrap, it generally means that this
2867a9348d9SSascha Wildnerrequirement has not been adhered to.
2877a9348d9SSascha Wildner.Sh SEE ALSO
2887a9348d9SSascha Wildner.Xr ddb 4 ,
2897a9348d9SSascha Wildner.Xr ttys 5 ,
2907a9348d9SSascha Wildner.Xr boot0cfg 8 ,
2917a9348d9SSascha Wildner.Xr disklabel 8 ,
292*c1e978a9SSascha Wildner.Xr efibootmgr 8 ,
2937a9348d9SSascha Wildner.Xr halt 8 ,
2947a9348d9SSascha Wildner.Xr loader 8 ,
2957a9348d9SSascha Wildner.Xr reboot 8 ,
296d195d509SSascha Wildner.Xr shutdown 8 ,
297d195d509SSascha Wildner.Xr uefi 8
2987a9348d9SSascha Wildner.Sh BUGS
2997a9348d9SSascha WildnerThe
3007a9348d9SSascha Wildner.Xr disklabel 5
3017a9348d9SSascha Wildnerformat used by this version of
3027a9348d9SSascha Wildner.Bx
3037a9348d9SSascha Wildneris quite
3047a9348d9SSascha Wildnerdifferent from that of other architectures.
3057a9348d9SSascha Wildner.Pp
3067a9348d9SSascha WildnerDue to space constraints, the keyboard probe initiated by the
3077a9348d9SSascha Wildner.Fl P
3087a9348d9SSascha Wildneroption is simply a test that the BIOS has detected an
3097a9348d9SSascha Wildner.Dq extended
3107a9348d9SSascha Wildnerkeyboard.  If an
3117a9348d9SSascha Wildner.Dq XT/AT
3127a9348d9SSascha Wildnerkeyboard (with no F11 and F12 keys, etc.) is attached, the probe will
3137a9348d9SSascha Wildnerfail.
3147a9348d9SSascha Wildner.Pp
3157a9348d9SSascha WildnerSome features are not yet documented.
316