1.\" Copyright (c) 2014 The FreeBSD Foundation 2.\" All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in the 11.\" documentation and/or other materials provided with the distribution. 12.\" 13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND 14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE 17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23.\" SUCH DAMAGE. 24.\" 25.\" $FreeBSD$ 26.\" 27.Dd October 17, 2014 28.Dt UEFI 8 29.Os 30.Sh NAME 31.Nm UEFI 32.Nd Unified Extensible Firmware Interface bootstrapping procedures 33.Sh DESCRIPTION 34The 35.Nm 36Unified Extensible Firmware Interface provides boot- and run-time services 37to operating systems. 38.Nm 39is a replacement for the legacy BIOS on the i386 and amd64 CPU architectures, 40and is also used on arm64 and ia64. 41.Pp 42The 43.Nm 44boot process loads system bootstrap code located in an EFI System Partition 45(ESP). 46The ESP is a GPT or MBR partition with a specific identifier that contains an 47.Xr msdosfs 5 48FAT file system with a specified file hierarchy. 49.Bl -column -offset indent ".Sy Partition Scheme" ".Sy ESP Identifier" 50.It Sy "Partition Scheme" Ta Sy "ESP Identifier" 51.It GPT Ta C12A7328-F81F-11D2-BA4B-00A0C93EC93B 52.It MBR Ta 0xEF 53.El 54.Pp 55The 56.Nm 57boot process proceeds as follows: 58.Bl -enum -offset indent -compact 59.It 60.Nm 61firmware runs at power up and searches for an OS loader in the EFI system 62partition. 63The path to the loader may be set by an EFI environment variable. 64If not set, the default is 65.Pa /EFI/BOOT/BOOTX64.EFI . 66The default 67.Nm 68boot configuration for 69.Fx 70installs 71.Pa boot1.efi 72as 73.Pa /EFI/BOOT/BOOTX64.EFI . 74.It 75.Pa boot1.efi 76locates the first partition with the type 77.Li freebsd-ufs , 78and from it loads 79.Pa loader.efi . 80.It 81.Pa loader.efi 82loads and boots the kernel, as described in 83.Xr loader 8 . 84.El 85.Pp 86The 87.Xr vt 4 88system console is automatically selected when booting via 89.Nm . 90.Sh FILES 91.Bl -tag -width /boot/loader -compact 92.It Pa /boot/boot1.efi 93First stage 94.Nm 95bootstrap 96.It Pa /boot/boot1.efifat 97.Xr msdosfs 5 98FAT file system image containing 99.Pa boot1.efi 100for use by 101.Xr bsdinstall 8 102and the 103.Ar bootcode 104argument to 105.Xr gpart 8 . 106.It Pa /boot/loader.efi 107Final stage bootstrap 108.It Pa /boot/kernel/kernel 109default kernel 110.It Pa /boot/kernel.old/kernel 111typical non-default kernel (optional) 112.El 113.Sh SEE ALSO 114.Xr vt 4 , 115.Xr msdosfs 5 , 116.Xr boot 8 , 117.Xr gpart 8 118.Sh HISTORY 119.Nm 120boot support first appeared in 121.Fx 10.1 . 122.Sh AUTHORS 123.An -nosplit 124.Nm 125boot support was developed by 126.An Benno Rice Aq Mt benno@FreeBSD.org , 127.An Ed Maste Aq Mt emaste@FreeBSD.org , 128and 129.An Nathan Whitehorn Aq Mt nwhitehorn@FreeBSD.org . 130The 131.Fx 132Foundation sponsored portions of the work. 133.Sh CAVEATS 134EFI environment variables are not supported by 135.Xr loader 8 136or the kernel. 137.Pp 138.Pa boot1.efi 139loads 140.Pa loader.efi 141from the first FreeBSD-UFS file system it locates, even if it is on a 142different disk. 143.Pp 144.Pa boot1.efi 145cannot load 146.Pa loader.efi 147from a 148.Xr ZFS 8 149file system. 150As a result, 151.Nm 152does not support a typical root file system on ZFS configuration. 153