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