BOOT(8)
π boot(8) β i386 System Manager's Manual, but make it cute π
Hey bestie β this is the boot page: system bootstrapping procedures. Weβre keeping every flag, every file, every error code, and every warning β just with way more sparkle. πβ¨
β¨ NAME β¨
boot β system bootstrapping procedures.
πΈ DESCRIPTION πΈ
Power fail and crash recovery. Normally, the system will reboot itself at power-up or after crashes. An automatic consistency check of the file systems will be performed, and unless this fails, the system will resume multi-user operations. π
Cold starts. Legacy i386 PCs attempt to boot first from floppy disk drive 0 (sometimes known as drive A:) and, failing that, from hard disk drive 0 (sometimes known as drive C:, or as drive 0x80 to the BIOS). Some BIOSes allow you to change this default sequence, and may also include a CD-ROM drive as a boot device. π
Contemporary PCs boot using UEFI firmware, not BIOS. That process is described in uefi(8). π¦
A three-stage bootstrap is employed. Control is passed from the boot blocks (bootstrap stages one and two) to a third-stage bootstrap program, loader(8). This third stage provides more sophisticated control over the booting process than it is possible to achieve in the boot blocks, which are constrained by occupying limited fixed space on a given disk or slice. β¨
The remainder of this subsection deals only with the boot blocks. The loader(8) program is documented separately.
After the boot blocks have been loaded, you should see a prompt similar to the following:
>> FreeBSD/x86 BOOT
Default: 0:ad(0,a)/boot/loader
boot:
The automatic boot will attempt to load /boot/loader from partition a of either the floppy or the hard disk. This boot may be aborted by typing any character on the keyboard at the boot: prompt. At this time, the following input will be accepted:
?β Give a short listing of the files in the root directory of the default boot device, as a hint about available boot files. (A?may also be specified as the last segment of a path, in which case the listing will be of the relevant subdirectory.) π₯
bios_drive:interface(unit,[slice,]part)filename [-aCcDdghmnPprsv] [-Sspeed]
Specify boot file and flags. π«Ά
bios_driveβ The drive number as recognized by the BIOS.0for the first drive,1for the second drive, etc. πinterfaceβ The type of controller to boot from. Note that the controller is required to have BIOS support since the BIOS services are used to load the boot file image. The supported interfaces are:adβ ST506, IDE, ESDI, RLL disks on aWD100[2367]or lookalike controllerfdβ 5 1/4" or 3 1/2" High density floppiesdaβ SCSI disk on any supported SCSI controller
unitβ The unit number of the drive on the interface being used.0for the first drive,1for the second drive, etc. π«Ά[slice,]partβ The partition letter inside the BSD portion of the disk. Seebsdlabel(8). By convention, only partitionacontains a bootable image. If sliced disks are used (βfdisk partitionsβ), any slice (1for the first slice,2for the second slice, etc.) can be booted from, with the default (if not specified) being the active slice or, otherwise, the first FreeBSD slice. If slice is specified as0, the first FreeBSD slice (also known as βcompatibilityβ slice) is booted from. πfilenameβ The pathname of the file to boot (relative to the root directory on the specified partition). Defaults to/boot/kernel/kernel. Symbolic links are not supported (hard links are). π
π© Boot flags
[-aCcDdghmnPpqrsv] [-Sspeed]
-aβ during kernel initialization, ask for the device to mount as the root file system. πΈ-Cβ try to mount root file system from a CD-ROM. πΏ-cβ this flag is currently a no-op. π«-Dβ boot with the dual console configuration. In the single configuration, the console will be either the internal display or the serial port, depending on the state of the-hoption below. In the dual console configuration, both the internal display and the serial port will become the console at the same time, regardless of the state of the-hoption. π₯οΈ-dβ enter the DDB kernel debugger (seeddb(4)) as early as possible in kernel initialization. π΅οΈ-gβ use the GDB remote debugging protocol. π-hβ force the serial console. For instance, if you boot from the internal console, you can use the-hoption to force the kernel to use the serial port as its console device. π-mβ mute the console to suppress all kernel console input and output during the boot. π€«-nβ ignore key press to interrupt boot beforeloader(8)is invoked. π«-Pβ probe the keyboard. If no keyboard is found, the-Dand-hoptions are automatically set. β¨οΈ-pβ pause after each attached device during the device probing phase. βΈοΈ-qβ be quiet, do not write anything to the console unless automatic boot fails or is disabled. This option only affects second-stage bootstrap, to prevent next stages from writing to the console use in combination with the-moption. π€-rβ use the statically configured default for the device containing the root file system (seeconfig(8)). Normally, the root file system is on the device that the kernel was loaded from. π-sβ boot into single-user mode; if the console is marked as βinsecureβ (seettys(5)), the root password must be entered. π-Sspeedβ set the speed of the serial console to speed. The default is115200unless it has been overridden by settingBOOT_COMCONSOLE_SPEEDinmake.conf(5)and recompiling and reinstalling the boot blocks. β‘-vβ be verbose during device probing (and later). π
Use the /boot.config file to set the default configuration options for the boot block code. See boot.config(5) for more information about the /boot.config file. π
ποΈ FILES ποΈ
/boot.configβ parameters for the boot blocks (optional)/boot/boot1β first stage bootstrap file/boot/boot2β second stage bootstrap file/boot/loaderβ third stage bootstrap/boot/kernel/kernelβ default kernel/boot/kernel.old/kernelβ typical non-default kernel (optional)
π©Ί DIAGNOSTICS π©Ί
When disk-related errors occur, these are reported by the second-stage bootstrap using the same error codes returned by the BIOS, for example βDisk error 0x1 (lba=0x12345678)β. Here is a partial list of these error codes:
0x1β Invalid argument0x2β Address mark not found0x4β Sector not found0x8β DMA overrun0x9β DMA attempt across 64K boundary0xcβ Invalid media0x10β Uncorrectable CRC/ECC error0x20β Controller failure0x40β Seek failed0x80β Timeout
β οΈ NOTE: On older machines, or otherwise where EDD support (disk packet interface support) is not available, all boot-related files and structures (including the kernel) that need to be accessed during the boot phase must reside on the disk at or below cylinder 1023 (as the BIOS understands the geometry). When a βDisk error 0x1β is reported by the second-stage bootstrap, it generally means that this requirement has not been adhered to. π
π SEE ALSO π
ddb(4)boot.config(5)make.conf(5)mount.conf(5)ttys(5)boot0cfg(8)btxld(8)config(8)efibootmgr(8)efivar(8)gpart(8)gptboot(8)gptzfsboot(8)halt(8)loader(8)nextboot(8)reboot(8)shutdown(8)uefi(8)zfsbootcfg(8)
π BUGS π
The bsdlabel format used by this version of BSD is quite different from that of other architectures. π«
Due to space constraints, the keyboard probe initiated by the -P option is simply a test that the BIOS has detected an βextendedβ keyboard. If an βXT/ATβ keyboard (with no F11 and F12 keys, etc.) is attached, the probe will fail. π
Thatβs the whole BOOT(8) tea, bestie β from the Debian edition, dated April 7, 2025. Now go boot like you mean it. ππβ¨
π¦ where this page comes from
- freebsd 14.5: base 14.5
- freebsd 15.1: base 15.1
- Copyright (c) 1991, 1993 The Regents of the University of California. All rights reserved
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms