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

11.0 ken/refactor-virt lazarus qt5new trunk xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since d5cc78a was d5cc78a, checked in by Bruce Dubbs <bdubbs@…>, 8 months ago

Editorial changes to new evi pages.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@24395 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 6.2 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 "9f067275c5f7aafdd75bfb364280ac9c">
10 <!ENTITY efivar-size "108 KB">
11 <!ENTITY efivar-buildsize "2.75 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 <sect1info>
19 <othername>$LastChangedBy: bdubbs $</othername>
20 <date>$Date: 2021-02-21 03:35:58 +0800 (日, 2021-02-21) $</date>
21 </sect1info>
22
23 <title>efivar-&efivar-version;</title>
24
25 <indexterm zone="efivar">
26 <primary sortas="a-efivar">efivar</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to efivar</title>
31
32 <para>
33 The <application>efivar</application> package provides tools and
34 libraries to manipulate EFI variables.
35 </para>
36
37 &lfs101_checked;
38
39 <bridgehead renderas="sect3">Package Information</bridgehead>
40 <itemizedlist spacing="compact">
41 <listitem>
42 <para>
43 Download (HTTP): <ulink url="&efivar-download-http;"/>
44 </para>
45 </listitem>
46 <listitem>
47 <para>
48 Download (FTP): <ulink url="&efivar-download-ftp;"/>
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download MD5 sum: &efivar-md5sum;
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Download size: &efivar-size;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Estimated disk space required: &efivar-buildsize;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Estimated build time: &efivar-time;
69 </para>
70 </listitem>
71 </itemizedlist>
72
73 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
74 <itemizedlist spacing="compact">
75 <listitem>
76 <para>
77 Required patch:
78 <ulink url="&patch-root;/efivar-&efivar-version;-gcc_9-1.patch"/>
79 </para>
80 </listitem>
81 </itemizedlist>
82
83 <para condition="html" role="usernotes">User Notes:
84 <ulink url="&blfs-wiki;/efivar"/></para>
85
86 </sect2>
87
88 <sect2 role="installation">
89 <title>Installation of efivar</title>
90
91 <para>
92 First, apply a patch to fix an issue building with GCC 9 or later:
93 </para>
94
95<screen><userinput>patch -Np1 -i ../efivar-37-gcc_9-1.patch</userinput></screen>
96
97 <para>
98 Build <application>efivar</application> with the following commands:
99 </para>
100
101<screen><userinput>make CFLAGS="-O2 -Wno-stringop-truncation"</userinput></screen>
102
103 <para>
104 The test suite of this package is dangerous. Running it may trigger
105 firmware bugs and make your system unusable without using some special
106 hardware to reprogram the firmware.
107 </para>
108
109 <para>
110 Now, as the <systemitem class="username">root</systemitem> user:
111 </para>
112
113<screen role="root"><userinput>make install LIBDIR=/usr/lib BINDIR=/bin</userinput></screen>
114
115 <para>
116 Move the shared libraries to <filename class="directory">/lib</filename>,
117 and recreate the symlinks in <filename class="directory">/usr/lib</filename>:
118 </para>
119
120<screen role="root"><userinput>mv /usr/lib/libefi{boot,var}.so.* /lib &amp;&amp;
121ln -sfv ../../lib/$(readlink /usr/lib/libefiboot.so) /usr/lib/libefiboot.so &amp;&amp;
122ln -sfv ../../lib/$(readlink /usr/lib/libefivar.so) /usr/lib/libefivar.so
123</userinput></screen>
124
125 </sect2>
126
127 <sect2 role="commands">
128 <title>Command Explanations</title>
129
130 <para>
131 <parameter>CFLAGS="-O2 -Wno-stringop-truncation"</parameter>:
132 This option overrides the default compiler flags to avoid a build failure.
133 </para>
134
135 <para>
136 <parameter>LIBDIR=/usr/lib</parameter>:
137 This option overrides the default library directory of the package
138 (<filename class="directory">/usr/lib64</filename>, which is not used
139 by LFS.)
140 </para>
141
142 <para>
143 <parameter>BINDIR=/bin</parameter>:
144 Make <command>efivar</command> avaliable even if
145 <filename class="directory">/usr</filename> is offline.
146 </para>
147 </sect2>
148
149 <sect2 role="content">
150 <title>Contents</title>
151
152 <segmentedlist>
153 <segtitle>Installed Programs</segtitle>
154 <segtitle>Installed Libraries</segtitle>
155 <segtitle>Installed Directories</segtitle>
156
157 <seglistitem>
158 <seg>
159 efivar
160 </seg>
161 <seg>
162 libefiboot.so and libefivar.so
163 </seg>
164 <seg>
165 /usr/include/efivar
166 </seg>
167 </seglistitem>
168 </segmentedlist>
169
170 <variablelist>
171 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
172 <?dbfo list-presentation="list"?>
173 <?dbhtml list-presentation="table"?>
174
175 <varlistentry id="efivar-prog">
176 <term><command>efivar</command></term>
177 <listitem>
178 <para>
179 is a tool to manipulate UEFI variables
180 </para>
181 <indexterm zone="efivar efivar-prog">
182 <primary sortas="b-efivar">efivar</primary>
183 </indexterm>
184 </listitem>
185 </varlistentry>
186
187 <varlistentry id="libefiboot">
188 <term><filename class="libraryfile">libefiboot.so</filename></term>
189 <listitem>
190 <para>
191 is a library used by <command>efibootmgr</command>
192 </para>
193 <indexterm zone="efivar libefiboot">
194 <primary sortas="c-libefiboot">libefiboot.so</primary>
195 </indexterm>
196 </listitem>
197 </varlistentry>
198
199 <varlistentry id="libefivar">
200 <term><filename class="libraryfile">libefivar.so</filename></term>
201 <listitem>
202 <para>
203 is a library for the manipulation of EFI variables
204 </para>
205 <indexterm zone="efivar libefiboot">
206 <primary sortas="c-libefiboot">libefiboot.so</primary>
207 </indexterm>
208 </listitem>
209 </varlistentry>
210
211 </variablelist>
212
213 </sect2>
214
215</sect1>
Note: See TracBrowser for help on using the repository browser.