xref: /freebsd/share/man/man8/uefi.8 (revision 9f747dc6dce54e03bb254f9ade85447587c0cf63)
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.\"
27e20102cdSEd 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
42e30f16baSEd MasteThe UEFI specification is the successor to the Extensible Firmware Interface
43e30f16baSEd Maste(EFI) specification.
44e30f16baSEd MasteThe terms are often used interchangeably.
45e30f16baSEd Maste.Pp
464bf111c3SEd MasteThe
474bf111c3SEd Maste.Nm
484bf111c3SEd Masteboot process loads system bootstrap code located in an EFI System Partition
494bf111c3SEd Maste(ESP).
50a0dcb24dSEd MasteThe ESP is a GPT or MBR partition with a specific identifier that contains an
514bf111c3SEd Maste.Xr msdosfs 5
524bf111c3SEd MasteFAT file system with a specified file hierarchy.
534bf111c3SEd Maste.Bl -column -offset indent ".Sy Partition Scheme" ".Sy ESP Identifier"
544bf111c3SEd Maste.It Sy "Partition Scheme" Ta Sy "ESP Identifier"
554bf111c3SEd Maste.It GPT Ta C12A7328-F81F-11D2-BA4B-00A0C93EC93B
564bf111c3SEd Maste.It MBR Ta 0xEF
574bf111c3SEd Maste.El
584bf111c3SEd Maste.Pp
594bf111c3SEd MasteThe
604bf111c3SEd Maste.Nm
614bf111c3SEd Masteboot process proceeds as follows:
624bf111c3SEd Maste.Bl -enum -offset indent -compact
634bf111c3SEd Maste.It
644bf111c3SEd Maste.Nm
654bf111c3SEd Mastefirmware runs at power up and searches for an OS loader in the EFI system
664bf111c3SEd Mastepartition.
674bf111c3SEd MasteThe path to the loader may be set by an EFI environment variable.
684bf111c3SEd MasteIf not set, the default is
694bf111c3SEd Maste.Pa /EFI/BOOT/BOOTX64.EFI .
704bf111c3SEd MasteThe default
714bf111c3SEd Maste.Nm
724bf111c3SEd Masteboot configuration for
734bf111c3SEd Maste.Fx
744bf111c3SEd Masteinstalls
754bf111c3SEd Maste.Pa boot1.efi
764bf111c3SEd Masteas
774bf111c3SEd Maste.Pa /EFI/BOOT/BOOTX64.EFI .
784bf111c3SEd Maste.It
794bf111c3SEd Maste.Pa boot1.efi
8071de598cSEd Mastereads boot configuration from
8171de598cSEd Maste.Pa /boot.config
8271de598cSEd Masteor
8371de598cSEd Maste.Pa /boot/config .
8471de598cSEd MasteUnlike other first-stage boot loaders,
8571de598cSEd Maste.Pa boot1.efi
8671de598cSEd Mastepasses the configuration to the next stage boot loader and does not
8771de598cSEd Masteitself act on the contents of the file.
8871de598cSEd Maste.It
8971de598cSEd Maste.Pa boot1.efi
90b4ccb553SEd Mastesearches partitions of type
91b4ccb553SEd Maste.Li freebsd-ufs
92b4ccb553SEd Masteand
93b4ccb553SEd Maste.Li freebsd-zfs
94b4ccb553SEd Mastefor
95b4ccb553SEd Maste.Pa loader.efi .
96b4ccb553SEd MasteThe search begins with partitions on the device from which
97b4ccb553SEd Maste.Pa boot1.efi
98b4ccb553SEd Mastewas loaded, and continues with other available partitions.
99b2390166SEd MasteIf both
100b2390166SEd Maste.Li freebsd-ufs
101b2390166SEd Masteand
102b2390166SEd Maste.Li freebsd-zfs
103b2390166SEd Mastepartitions exist on the same device the
104b2390166SEd Maste.Li freebsd-zfs
105b2390166SEd Mastepartition is preferred.
106b4ccb553SEd Maste.Pa boot1.efi
107b4ccb553SEd Mastethen loads and executes
1084bf111c3SEd Maste.Pa loader.efi .
1094bf111c3SEd Maste.It
1104bf111c3SEd Maste.Pa loader.efi
1114bf111c3SEd Masteloads and boots the kernel, as described in
1124bf111c3SEd Maste.Xr loader 8 .
1134bf111c3SEd Maste.El
1144bf111c3SEd Maste.Pp
1154bf111c3SEd MasteThe
1164bf111c3SEd Maste.Xr vt 4
1174bf111c3SEd Mastesystem console is automatically selected when booting via
1184bf111c3SEd Maste.Nm .
1194bf111c3SEd Maste.Sh FILES
1204bf111c3SEd Maste.Bl -tag -width /boot/loader -compact
1214bf111c3SEd Maste.It Pa /boot/boot1.efi
1224bf111c3SEd MasteFirst stage
1234bf111c3SEd Maste.Nm
1244bf111c3SEd Mastebootstrap
1254bf111c3SEd Maste.It Pa /boot/boot1.efifat
1264bf111c3SEd Maste.Xr msdosfs 5
1274bf111c3SEd MasteFAT file system image containing
1284bf111c3SEd Maste.Pa boot1.efi
1294bf111c3SEd Mastefor use by
1304bf111c3SEd Maste.Xr bsdinstall 8
1314bf111c3SEd Masteand the
1324bf111c3SEd Maste.Ar bootcode
1334bf111c3SEd Masteargument to
1344bf111c3SEd Maste.Xr gpart 8 .
1354bf111c3SEd Maste.It Pa /boot/loader.efi
1364bf111c3SEd MasteFinal stage bootstrap
1374bf111c3SEd Maste.It Pa /boot/kernel/kernel
1384bf111c3SEd Mastedefault kernel
1394bf111c3SEd Maste.It Pa /boot/kernel.old/kernel
1404bf111c3SEd Mastetypical non-default kernel (optional)
1414bf111c3SEd Maste.El
1424bf111c3SEd Maste.Sh SEE ALSO
1434bf111c3SEd Maste.Xr vt 4 ,
14471de598cSEd Maste.Xr boot.config 5 ,
1454bf111c3SEd Maste.Xr msdosfs 5 ,
1464bf111c3SEd Maste.Xr boot 8 ,
147*9f747dc6SEd Maste.Xr efibootmgr 8 ,
148*9f747dc6SEd Maste.Xr efidp 8 ,
149*9f747dc6SEd Maste.Xr efivar 8 ,
150d66023a0SEdward Tomasz Napierala.Xr gpart 8 ,
151d66023a0SEdward Tomasz Napierala.Xr uefisign 8
1524bf111c3SEd Maste.Sh HISTORY
153e20102cdSEd MasteEFI boot support for the ia64 architecture first appeared in
154e20102cdSEd Maste.Fx 5.0 .
1554bf111c3SEd Maste.Nm
156e20102cdSEd Masteboot support for amd64 first appeared in
157e20102cdSEd Maste.Fx 10.1
158e20102cdSEd Masteand for arm64 in
159e20102cdSEd Maste.Fx 11.0 .
160a0dcb24dSEd Maste.Sh CAVEATS
161a0dcb24dSEd MasteEFI environment variables are not supported by
162a0dcb24dSEd Maste.Xr loader 8
163a0dcb24dSEd Masteor the kernel.
164