xref: /dflybsd-src/share/man/man8/uefi.8 (revision abf903a5a7f8db18a713f4c29ad418bcb4528126)
1d195d509SSascha Wildner.\" Copyright (c) 2014 The FreeBSD Foundation
2d195d509SSascha Wildner.\" All rights reserved.
3d195d509SSascha Wildner.\"
4d195d509SSascha Wildner.\" Redistribution and use in source and binary forms, with or without
5d195d509SSascha Wildner.\" modification, are permitted provided that the following conditions
6d195d509SSascha Wildner.\" are met:
7d195d509SSascha Wildner.\" 1. Redistributions of source code must retain the above copyright
8d195d509SSascha Wildner.\"    notice, this list of conditions and the following disclaimer.
9d195d509SSascha Wildner.\" 2. Redistributions in binary form must reproduce the above copyright
10d195d509SSascha Wildner.\"    notice, this list of conditions and the following disclaimer in the
11d195d509SSascha Wildner.\"    documentation and/or other materials provided with the distribution.
12d195d509SSascha Wildner.\"
13d195d509SSascha Wildner.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
14d195d509SSascha Wildner.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15d195d509SSascha Wildner.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16d195d509SSascha Wildner.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
17d195d509SSascha Wildner.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18d195d509SSascha Wildner.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19d195d509SSascha Wildner.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20d195d509SSascha Wildner.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21d195d509SSascha Wildner.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22d195d509SSascha Wildner.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23d195d509SSascha Wildner.\" SUCH DAMAGE.
24d195d509SSascha Wildner.\"
25d195d509SSascha Wildner.\" $FreeBSD: head/share/man/man8/uefi.8 295522 2016-02-11 14:45:18Z emaste $
26d195d509SSascha Wildner.\"
27*abf903a5SSascha Wildner.Dd June 13, 2020
28d195d509SSascha Wildner.Dt UEFI 8
29d195d509SSascha Wildner.Os
30d195d509SSascha Wildner.Sh NAME
31d195d509SSascha Wildner.Nm UEFI
32d195d509SSascha Wildner.Nd Unified Extensible Firmware Interface bootstrapping procedures
33d195d509SSascha Wildner.Sh DESCRIPTION
34d195d509SSascha WildnerThe
35d195d509SSascha Wildner.Nm
36d195d509SSascha WildnerUnified Extensible Firmware Interface provides boot- and run-time services
37d195d509SSascha Wildnerto operating systems.
38d195d509SSascha Wildner.Nm
39d195d509SSascha Wildneris a replacement for the legacy BIOS on the i386 and amd64 CPU architectures,
40d195d509SSascha Wildnerand is also used on arm64 and ia64.
41d195d509SSascha Wildner.Pp
42d195d509SSascha WildnerThe
43d195d509SSascha Wildner.Nm
44d195d509SSascha Wildnerboot process loads system bootstrap code located in an EFI System Partition
45d195d509SSascha Wildner(ESP).
46d195d509SSascha WildnerThe ESP is a GPT or MBR partition with a specific identifier that contains an
47d195d509SSascha Wildner.Xr msdos 5
48d195d509SSascha WildnerFAT file system with a specified file hierarchy.
49d195d509SSascha Wildner.Bl -column -offset indent ".Sy Partition Scheme" ".Sy ESP Identifier"
50d195d509SSascha Wildner.It Sy "Partition Scheme" Ta Sy "ESP Identifier"
51d195d509SSascha Wildner.It GPT Ta C12A7328-F81F-11D2-BA4B-00A0C93EC93B
52d195d509SSascha Wildner.It MBR Ta 0xEF
53d195d509SSascha Wildner.El
54d195d509SSascha Wildner.Pp
55d195d509SSascha WildnerThe
56d195d509SSascha Wildner.Nm
57d195d509SSascha Wildnerboot process proceeds as follows:
58d195d509SSascha Wildner.Bl -enum -offset indent -compact
59d195d509SSascha Wildner.It
60d195d509SSascha Wildner.Nm
61d195d509SSascha Wildnerfirmware runs at power up and searches for an OS loader in the EFI system
62d195d509SSascha Wildnerpartition.
63d195d509SSascha WildnerThe path to the loader may be set by an EFI environment variable.
64d195d509SSascha WildnerIf not set, the default is
65d195d509SSascha Wildner.Pa /EFI/BOOT/BOOTX64.EFI .
66d195d509SSascha WildnerThe default
67d195d509SSascha Wildner.Nm
68d195d509SSascha Wildnerboot configuration for
69d195d509SSascha Wildner.Dx
70d195d509SSascha Wildnerinstalls
71d195d509SSascha Wildner.Pa boot1.efi
72d195d509SSascha Wildneras
73d195d509SSascha Wildner.Pa /EFI/BOOT/BOOTX64.EFI .
74d195d509SSascha Wildner.It
75d195d509SSascha Wildner.Pa boot1.efi
76d195d509SSascha Wildnerreads boot configuration from
77d195d509SSascha Wildner.Pa /boot.config
78d195d509SSascha Wildneror
79d195d509SSascha Wildner.Pa /boot/config .
80d195d509SSascha WildnerUnlike other first-stage boot loaders,
81d195d509SSascha Wildner.Pa boot1.efi
82d195d509SSascha Wildnerpasses the configuration to the next stage boot loader and does not
83d195d509SSascha Wildneritself act on the contents of the file.
84d195d509SSascha Wildner.It
85d195d509SSascha Wildner.Pa boot1.efi
86d195d509SSascha Wildnersearches partitions of type
87d195d509SSascha Wildner.Sq DragonFly UFS1
88d195d509SSascha Wildnerand the first
89d195d509SSascha Wildner.Xr disklabel64 5
90d195d509SSascha Wildnerpartition in GPT partitions of type
91d195d509SSascha Wildner.Sq DragonFly Label64
92d195d509SSascha Wildnerfor
93d195d509SSascha Wildner.Pa loader.efi .
94d195d509SSascha WildnerThe search begins with partitions on the device from which
95d195d509SSascha Wildner.Pa boot1.efi
96d195d509SSascha Wildnerwas loaded, and continues with other available partitions.
97d195d509SSascha Wildner.\"If both
98d195d509SSascha Wildner.\".Li DragonFly UFS1
99d195d509SSascha Wildner.\"and
100d195d509SSascha Wildner.\".Li DragonFly Label64
101d195d509SSascha Wildner.\"partitions exist on the same device
102d195d509SSascha Wildner.\"...
103d195d509SSascha Wildner.Pa boot1.efi
104d195d509SSascha Wildnerthen loads and executes
105d195d509SSascha Wildner.Pa loader.efi .
106d195d509SSascha Wildner.It
107d195d509SSascha Wildner.Pa loader.efi
108d195d509SSascha Wildnerloads and boots the kernel, as described in
109d195d509SSascha Wildner.Xr loader 8 .
110d195d509SSascha Wildner.El
111d195d509SSascha Wildner.Sh FILES
112d195d509SSascha Wildner.Bl -tag -width /boot/loader -compact
113d195d509SSascha Wildner.It Pa /boot/boot1.efi
114d195d509SSascha WildnerFirst stage
115d195d509SSascha Wildner.Nm
116d195d509SSascha Wildnerbootstrap
117d195d509SSascha Wildner.It Pa /boot/loader.efi
118d195d509SSascha WildnerFinal stage bootstrap
119d195d509SSascha Wildner.It Pa /boot/kernel/kernel
120d195d509SSascha Wildnerdefault kernel
121d195d509SSascha Wildner.It Pa /boot/kernel.old/kernel
122d195d509SSascha Wildnertypical non-default kernel (optional)
123d195d509SSascha Wildner.El
124d195d509SSascha Wildner.Sh SEE ALSO
125d195d509SSascha Wildner.\".Xr boot.config 5 ,
1262bd356f2SSascha Wildner.Xr efivar 3 ,
127d195d509SSascha Wildner.Xr disklabel64 5 ,
128d195d509SSascha Wildner.Xr msdos 5 ,
129d195d509SSascha Wildner.Xr boot 8 ,
130*abf903a5SSascha Wildner.Xr efibootmgr 8 ,
131d9c051c1SSascha Wildner.Xr efidp 8 ,
1322bd356f2SSascha Wildner.Xr efisetup 8 ,
1332bd356f2SSascha Wildner.Xr efivar 8 ,
134d195d509SSascha Wildner.Xr uefisign 8
135d195d509SSascha Wildner.Sh HISTORY
136d195d509SSascha Wildner.Nm
137d195d509SSascha Wildnerboot support first appeared in
138d195d509SSascha Wildner.Fx 10.1
139d195d509SSascha Wildnerand was brought into
14058a32472SSascha Wildner.Dx 4.5 .
141d195d509SSascha Wildner.Sh AUTHORS
142d195d509SSascha Wildner.An -nosplit
143d195d509SSascha Wildner.Nm
144d195d509SSascha Wildnerboot support was developed by
145d195d509SSascha Wildner.An Benno Rice Aq Mt benno@FreeBSD.org ,
146d195d509SSascha Wildner.An \&Ed Maste Aq Mt emaste@FreeBSD.org ,
147d195d509SSascha Wildnerand
148d195d509SSascha Wildner.An Nathan Whitehorn Aq Mt nwhitehorn@FreeBSD.org .
149d195d509SSascha WildnerThe
150d195d509SSascha Wildner.Fx
151d195d509SSascha WildnerFoundation sponsored portions of the work.
152d195d509SSascha Wildner.Sh CAVEATS
153d195d509SSascha WildnerEFI environment variables are not supported by
154d195d509SSascha Wildner.Xr loader 8
155d195d509SSascha Wildneror the kernel.
156