source: postlfs/filesystems/uefi-bootloaders/efivar.xml@ d8255e5f

12.0 12.1 kea ken/TL2024 ken/tuningfonts lazarus lxqt plabs/newcss python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since d8255e5f was d8255e5f, checked in by Xi Ruoyao <xry111@…>, 14 months ago

efivar: Workaround build failure with GCC 13

  • Property mode set to 100644
File size: 7.0 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../../general.ent">
5 %general-entities;
6
7 <!ENTITY efivar-download-http "https://github.com/rhboot/efivar/releases/download/&efivar-version;/efivar-&efivar-version;.tar.bz2">
8 <!ENTITY efivar-download-ftp " ">
9 <!ENTITY efivar-md5sum "243fdbc48440212695cb9c6e6fd0f44f">
10 <!ENTITY efivar-size "316 KB">
11 <!ENTITY efivar-buildsize "18 MB">
12 <!ENTITY efivar-time "less than 0.1 SBU">
13]>
14
15<sect1 id="efivar" xreflabel="efivar-&efivar-version;">
16 <?dbhtml filename="efivar.html"?>
17
18
19 <title>efivar-&efivar-version;</title>
20
21 <indexterm zone="efivar">
22 <primary sortas="a-efivar">efivar</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to efivar</title>
27
28 <para>
29 The <application>efivar</application> package provides tools and
30 libraries to manipulate EFI variables.
31 </para>
32
33 &lfs113_checked;
34
35 <bridgehead renderas="sect3">Package Information</bridgehead>
36 <itemizedlist spacing="compact">
37 <listitem>
38 <para>
39 Download (HTTP): <ulink url="&efivar-download-http;"/>
40 </para>
41 </listitem>
42 <listitem>
43 <para>
44 Download (FTP): <ulink url="&efivar-download-ftp;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download MD5 sum: &efivar-md5sum;
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download size: &efivar-size;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Estimated disk space required: &efivar-buildsize;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated build time: &efivar-time;
65 </para>
66 </listitem>
67 </itemizedlist>
68
69 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
70 <itemizedlist spacing="compact">
71 <listitem>
72 <para>
73 Optional patch (Required for 32-bit systems):
74 <ulink url="&patch-root;/efivar-&efivar-version;-i686-1.patch"/>
75 </para>
76 </listitem>
77 </itemizedlist>
78
79 <bridgehead renderas="sect3">efivar Dependencies</bridgehead>
80
81 <bridgehead renderas="sect4">Required</bridgehead>
82 <para role="required">
83 <xref linkend="mandoc"/>
84 </para>
85
86 <para condition="html" role="usernotes">User Notes:
87 <ulink url="&blfs-wiki;/efivar"/></para>
88
89 </sect2>
90
91 <sect2 role="installation">
92 <title>Installation of efivar</title>
93
94 <para>
95 First, fix an issue in Makefile causing the package to be rebuilt
96 during installation:
97 </para>
98
99<screen><userinput>sed '/prep :/a\\ttouch prep' -i src/Makefile</userinput></screen>
100
101 <note>
102 <para>
103 This package cannot function properly on a 32-bit system with a
104 64-bit UEFI implementation. Don't install this package (or
105 efibootmgr) on 32-bit system unless you are absolutely sure you have
106 a 32-bit UEFI implementation, which is very rare in practice.
107 </para>
108 </note>
109
110 <para>
111 If building this package on a 32-bit system, apply a patch:
112 </para>
113
114<screen><userinput>[ $(getconf LONG_BIT) = 64 ] || patch -Np1 -i ../efivar-&efivar-version;-i686-1.patch</userinput></screen>
115
116 <para>
117 Build <application>efivar</application> with the following commands:
118 </para>
119
120<screen><userinput>make ERRORS=</userinput></screen>
121
122 <para>
123 The test suite of this package is dangerous. Running it may trigger
124 firmware bugs and make your system unusable without using some special
125 hardware to reprogram the firmware.
126 </para>
127
128 <para>
129 Now, as the <systemitem class="username">root</systemitem> user:
130 </para>
131
132<screen role="root"><userinput>make install LIBDIR=/usr/lib</userinput></screen>
133
134 </sect2>
135
136 <sect2 role="commands">
137 <title>Command Explanations</title>
138
139 <para>
140 <parameter>ERRORS=</parameter>:
141 This option overrides the <option>-Werror</option> passed to GCC
142 by default, so the package won't fail to build with the
143 <option>-Wenum-int-mismatch</option> warning introduced in GCC 13.
144 </para>
145
146 <para>
147 <parameter>LIBDIR=/usr/lib</parameter>:
148 This option overrides the default library directory of the package
149 (<filename class="directory">/usr/lib64</filename>, which is not used
150 by LFS.)
151 </para>
152
153 </sect2>
154
155 <sect2 role="content">
156 <title>Contents</title>
157
158 <segmentedlist>
159 <segtitle>Installed Programs</segtitle>
160 <segtitle>Installed Libraries</segtitle>
161 <segtitle>Installed Directories</segtitle>
162
163 <seglistitem>
164 <seg>
165 efisecdb and efivar
166 </seg>
167 <seg>
168 libefiboot.so, libefisec.so, and libefivar.so
169 </seg>
170 <seg>
171 /usr/include/efivar
172 </seg>
173 </seglistitem>
174 </segmentedlist>
175
176 <variablelist>
177 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
178 <?dbfo list-presentation="list"?>
179 <?dbhtml list-presentation="table"?>
180
181 <varlistentry id="efisecdb">
182 <term><command>efisecdb</command></term>
183 <listitem>
184 <para>
185 is an utility for managing UEFI signature lists
186 </para>
187 <indexterm zone="efivar efisecdb">
188 <primary sortas="b-efisecdb">efisecdb</primary>
189 </indexterm>
190 </listitem>
191 </varlistentry>
192
193 <varlistentry id="efivar-prog">
194 <term><command>efivar</command></term>
195 <listitem>
196 <para>
197 is a tool to manipulate UEFI variables
198 </para>
199 <indexterm zone="efivar efivar-prog">
200 <primary sortas="b-efivar">efivar</primary>
201 </indexterm>
202 </listitem>
203 </varlistentry>
204
205 <varlistentry id="libefiboot">
206 <term><filename class="libraryfile">libefiboot.so</filename></term>
207 <listitem>
208 <para>
209 is a library used by <command>efibootmgr</command>
210 </para>
211 <indexterm zone="efivar libefiboot">
212 <primary sortas="c-libefiboot">libefiboot.so</primary>
213 </indexterm>
214 </listitem>
215 </varlistentry>
216
217 <varlistentry id="libefisec">
218 <term><filename class="libraryfile">libefisec.so</filename></term>
219 <listitem>
220 <para>
221 is a library for managing UEFI signature lists
222 </para>
223 <indexterm zone="efivar libefisec">
224 <primary sortas="c-libefisec">libefisec.so</primary>
225 </indexterm>
226 </listitem>
227 </varlistentry>
228
229 <varlistentry id="libefivar">
230 <term><filename class="libraryfile">libefivar.so</filename></term>
231 <listitem>
232 <para>
233 is a library for the manipulation of EFI variables
234 </para>
235 <indexterm zone="efivar libefiboot">
236 <primary sortas="c-libefiboot">libefiboot.so</primary>
237 </indexterm>
238 </listitem>
239 </varlistentry>
240
241 </variablelist>
242
243 </sect2>
244
245</sect1>
Note: See TracBrowser for help on using the repository browser.