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

11.0 qt5new trunk xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since 756a787 was 756a787, checked in by Xi Ruoyao <xry111@…>, 6 months ago

Add packages and instructions for UEFI

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@24393 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 At first, apply a patch to fix an issue breaking the build with GCC 9
93 or later:
94 </para>
95
96<screen><userinput>patch -Np1 -i ../efivar-37-gcc_9-1.patch</userinput></screen>
97
98 <para>
99 Build <application>efivar</application> with the following
100 commands:
101 </para>
102
103<screen><userinput>make CFLAGS="-O2 -Wno-stringop-truncation"</userinput></screen>
104
105 <para>
106 The test suite of this package is dangerous. Running it may trigger
107 firmware bugs and make your system unusable without using some special
108 hardware to reprogram the firmware.
109 </para>
110
111 <para>
112 Now, as the <systemitem class="username">root</systemitem> user:
113 </para>
114
115<screen role="root"><userinput>make install LIBDIR=/usr/lib BINDIR=/bin</userinput></screen>
116
117 <para>
118 Move the shared libraries to <filename class="directory">/lib</filename>,
119 and recreate the symlinks in <filename class="directory">/usr/lib</filename>:
120 </para>
121
122<screen role="root"><userinput>mv /usr/lib/libefi{boot,var}.so.* /lib &amp;&amp;
123ln -sfv ../../lib/$(readlink /usr/lib/libefiboot.so) /usr/lib/libefiboot.so &amp;&amp;
124ln -sfv ../../lib/$(readlink /usr/lib/libefivar.so) /usr/lib/libefivar.so
125</userinput></screen>
126
127 </sect2>
128
129 <sect2 role="commands">
130 <title>Command Explanations</title>
131
132 <para>
133 <parameter>CFLAGS="-O2 -Wno-stringop-truncation"</parameter>:
134 This option overrides the compiler flags defaulted by this package,
135 to avoid build failure.
136 </para>
137
138 <para>
139 <parameter>LIBDIR=/usr/lib</parameter>:
140 This option overrides the default library directory of the package
141 (<filename class="directory">/usr/lib64</filename>, which is not used
142 by LFS.)
143 </para>
144
145 <para>
146 <parameter>BINDIR=/bin</parameter>:
147 Make <command>efivar</command> avaliable even if
148 <filename class="directory">/usr</filename> is offline.
149 </para>
150 </sect2>
151
152 <sect2 role="content">
153 <title>Contents</title>
154
155 <segmentedlist>
156 <segtitle>Installed Programs</segtitle>
157 <segtitle>Installed Libraries</segtitle>
158 <segtitle>Installed Directories</segtitle>
159
160 <seglistitem>
161 <seg>
162 efivar
163 </seg>
164 <seg>
165 libefiboot.so and libefivar.so
166 </seg>
167 <seg>
168 /usr/include/efivar
169 </seg>
170 </seglistitem>
171 </segmentedlist>
172
173 <variablelist>
174 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
175 <?dbfo list-presentation="list"?>
176 <?dbhtml list-presentation="table"?>
177
178 <varlistentry id="efivar-prog">
179 <term><command>efivar</command></term>
180 <listitem>
181 <para>
182 is a tool to manipulate UEFI variables
183 </para>
184 <indexterm zone="efivar efivar-prog">
185 <primary sortas="b-efivar">efivar</primary>
186 </indexterm>
187 </listitem>
188 </varlistentry>
189
190 <varlistentry id="libefiboot">
191 <term><filename class="libraryfile">libefiboot.so</filename></term>
192 <listitem>
193 <para>
194 is a library used by <command>efibootmgr</command>
195 </para>
196 <indexterm zone="efivar libefiboot">
197 <primary sortas="c-libefiboot">libefiboot.so</primary>
198 </indexterm>
199 </listitem>
200 </varlistentry>
201
202 <varlistentry id="libefivar">
203 <term><filename class="libraryfile">libefivar.so</filename></term>
204 <listitem>
205 <para>
206 is a library for the manipulation of EFI variables
207 </para>
208 <indexterm zone="efivar libefiboot">
209 <primary sortas="c-libefiboot">libefiboot.so</primary>
210 </indexterm>
211 </listitem>
212 </varlistentry>
213
214 </variablelist>
215
216 </sect2>
217
218</sect1>
Note: See TracBrowser for help on using the repository browser.