14bf111c3SEd Maste.\" Copyright (c) 2014 The FreeBSD Foundation 24bf111c3SEd Maste.\" All rights reserved. 34bf111c3SEd Maste.\" 44bf111c3SEd Maste.\" Redistribution and use in source and binary forms, with or without 54bf111c3SEd Maste.\" modification, are permitted provided that the following conditions 64bf111c3SEd Maste.\" are met: 74bf111c3SEd Maste.\" 1. Redistributions of source code must retain the above copyright 84bf111c3SEd Maste.\" notice, this list of conditions and the following disclaimer. 94bf111c3SEd Maste.\" 2. Redistributions in binary form must reproduce the above copyright 104bf111c3SEd Maste.\" notice, this list of conditions and the following disclaimer in the 114bf111c3SEd Maste.\" documentation and/or other materials provided with the distribution. 124bf111c3SEd Maste.\" 134bf111c3SEd Maste.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND 144bf111c3SEd Maste.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 154bf111c3SEd Maste.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 164bf111c3SEd Maste.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE 174bf111c3SEd Maste.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 184bf111c3SEd Maste.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 194bf111c3SEd Maste.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 204bf111c3SEd Maste.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 214bf111c3SEd Maste.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 224bf111c3SEd Maste.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 234bf111c3SEd Maste.\" SUCH DAMAGE. 244bf111c3SEd Maste.\" 254bf111c3SEd Maste.\" $FreeBSD$ 264bf111c3SEd Maste.\" 27*e20102cdSEd Maste.Dd January 24, 2018 284bf111c3SEd Maste.Dt UEFI 8 294bf111c3SEd Maste.Os 304bf111c3SEd Maste.Sh NAME 314bf111c3SEd Maste.Nm UEFI 324bf111c3SEd Maste.Nd Unified Extensible Firmware Interface bootstrapping procedures 334bf111c3SEd Maste.Sh DESCRIPTION 344bf111c3SEd MasteThe 354bf111c3SEd Maste.Nm 364bf111c3SEd MasteUnified Extensible Firmware Interface provides boot- and run-time services 37a0dcb24dSEd Masteto operating systems. 384bf111c3SEd Maste.Nm 394bf111c3SEd Masteis a replacement for the legacy BIOS on the i386 and amd64 CPU architectures, 40aa86fca1SEd Masteand is also used on arm, arm64 and ia64. 414bf111c3SEd Maste.Pp 424bf111c3SEd MasteThe 434bf111c3SEd Maste.Nm 444bf111c3SEd Masteboot process loads system bootstrap code located in an EFI System Partition 454bf111c3SEd Maste(ESP). 46a0dcb24dSEd MasteThe ESP is a GPT or MBR partition with a specific identifier that contains an 474bf111c3SEd Maste.Xr msdosfs 5 484bf111c3SEd MasteFAT file system with a specified file hierarchy. 494bf111c3SEd Maste.Bl -column -offset indent ".Sy Partition Scheme" ".Sy ESP Identifier" 504bf111c3SEd Maste.It Sy "Partition Scheme" Ta Sy "ESP Identifier" 514bf111c3SEd Maste.It GPT Ta C12A7328-F81F-11D2-BA4B-00A0C93EC93B 524bf111c3SEd Maste.It MBR Ta 0xEF 534bf111c3SEd Maste.El 544bf111c3SEd Maste.Pp 554bf111c3SEd MasteThe 564bf111c3SEd Maste.Nm 574bf111c3SEd Masteboot process proceeds as follows: 584bf111c3SEd Maste.Bl -enum -offset indent -compact 594bf111c3SEd Maste.It 604bf111c3SEd Maste.Nm 614bf111c3SEd Mastefirmware runs at power up and searches for an OS loader in the EFI system 624bf111c3SEd Mastepartition. 634bf111c3SEd MasteThe path to the loader may be set by an EFI environment variable. 644bf111c3SEd MasteIf not set, the default is 654bf111c3SEd Maste.Pa /EFI/BOOT/BOOTX64.EFI . 664bf111c3SEd MasteThe default 674bf111c3SEd Maste.Nm 684bf111c3SEd Masteboot configuration for 694bf111c3SEd Maste.Fx 704bf111c3SEd Masteinstalls 714bf111c3SEd Maste.Pa boot1.efi 724bf111c3SEd Masteas 734bf111c3SEd Maste.Pa /EFI/BOOT/BOOTX64.EFI . 744bf111c3SEd Maste.It 754bf111c3SEd Maste.Pa boot1.efi 7671de598cSEd Mastereads boot configuration from 7771de598cSEd Maste.Pa /boot.config 7871de598cSEd Masteor 7971de598cSEd Maste.Pa /boot/config . 8071de598cSEd MasteUnlike other first-stage boot loaders, 8171de598cSEd Maste.Pa boot1.efi 8271de598cSEd Mastepasses the configuration to the next stage boot loader and does not 8371de598cSEd Masteitself act on the contents of the file. 8471de598cSEd Maste.It 8571de598cSEd Maste.Pa boot1.efi 86b4ccb553SEd Mastesearches partitions of type 87b4ccb553SEd Maste.Li freebsd-ufs 88b4ccb553SEd Masteand 89b4ccb553SEd Maste.Li freebsd-zfs 90b4ccb553SEd Mastefor 91b4ccb553SEd Maste.Pa loader.efi . 92b4ccb553SEd MasteThe search begins with partitions on the device from which 93b4ccb553SEd Maste.Pa boot1.efi 94b4ccb553SEd Mastewas loaded, and continues with other available partitions. 95b2390166SEd MasteIf both 96b2390166SEd Maste.Li freebsd-ufs 97b2390166SEd Masteand 98b2390166SEd Maste.Li freebsd-zfs 99b2390166SEd Mastepartitions exist on the same device the 100b2390166SEd Maste.Li freebsd-zfs 101b2390166SEd Mastepartition is preferred. 102b4ccb553SEd Maste.Pa boot1.efi 103b4ccb553SEd Mastethen loads and executes 1044bf111c3SEd Maste.Pa loader.efi . 1054bf111c3SEd Maste.It 1064bf111c3SEd Maste.Pa loader.efi 1074bf111c3SEd Masteloads and boots the kernel, as described in 1084bf111c3SEd Maste.Xr loader 8 . 1094bf111c3SEd Maste.El 1104bf111c3SEd Maste.Pp 1114bf111c3SEd MasteThe 1124bf111c3SEd Maste.Xr vt 4 1134bf111c3SEd Mastesystem console is automatically selected when booting via 1144bf111c3SEd Maste.Nm . 1154bf111c3SEd Maste.Sh FILES 1164bf111c3SEd Maste.Bl -tag -width /boot/loader -compact 1174bf111c3SEd Maste.It Pa /boot/boot1.efi 1184bf111c3SEd MasteFirst stage 1194bf111c3SEd Maste.Nm 1204bf111c3SEd Mastebootstrap 1214bf111c3SEd Maste.It Pa /boot/boot1.efifat 1224bf111c3SEd Maste.Xr msdosfs 5 1234bf111c3SEd MasteFAT file system image containing 1244bf111c3SEd Maste.Pa boot1.efi 1254bf111c3SEd Mastefor use by 1264bf111c3SEd Maste.Xr bsdinstall 8 1274bf111c3SEd Masteand the 1284bf111c3SEd Maste.Ar bootcode 1294bf111c3SEd Masteargument to 1304bf111c3SEd Maste.Xr gpart 8 . 1314bf111c3SEd Maste.It Pa /boot/loader.efi 1324bf111c3SEd MasteFinal stage bootstrap 1334bf111c3SEd Maste.It Pa /boot/kernel/kernel 1344bf111c3SEd Mastedefault kernel 1354bf111c3SEd Maste.It Pa /boot/kernel.old/kernel 1364bf111c3SEd Mastetypical non-default kernel (optional) 1374bf111c3SEd Maste.El 1384bf111c3SEd Maste.Sh SEE ALSO 1394bf111c3SEd Maste.Xr vt 4 , 14071de598cSEd Maste.Xr boot.config 5 , 1414bf111c3SEd Maste.Xr msdosfs 5 , 1424bf111c3SEd Maste.Xr boot 8 , 143d66023a0SEdward Tomasz Napierala.Xr gpart 8 , 144d66023a0SEdward Tomasz Napierala.Xr uefisign 8 1454bf111c3SEd Maste.Sh HISTORY 146*e20102cdSEd MasteEFI boot support for the ia64 architecture first appeared in 147*e20102cdSEd Maste.Fx 5.0 . 1484bf111c3SEd Maste.Nm 149*e20102cdSEd Masteboot support for amd64 first appeared in 150*e20102cdSEd Maste.Fx 10.1 151*e20102cdSEd Masteand for arm64 in 152*e20102cdSEd Maste.Fx 11.0 . 153a0dcb24dSEd Maste.Sh CAVEATS 154a0dcb24dSEd MasteEFI environment variables are not supported by 155a0dcb24dSEd Maste.Xr loader 8 156a0dcb24dSEd Masteor the kernel. 157