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