source: chapter08/eudev.xml@ e8e771a

multilib
Last change on this file since e8e771a was ad897739, checked in by Thomas Trepl <thomas@…>, 14 months ago

Automatic merge of trunk into multilib

  • Property mode set to 100644
File size: 8.4 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
8<sect1 id="ch-system-eudev" role="wrap" revision="sysv">
9 <?dbhtml filename="eudev.html"?>
10
11 <sect1info condition="script">
12 <productname>eudev</productname>
13 <productnumber>&eudev-version;</productnumber>
14 <address>&eudev-url;</address>
15 </sect1info>
16
17 <title>Eudev-&eudev-version;</title>
18
19 <indexterm zone="ch-system-eudev">
20 <primary sortas="a-Eudev">Eudev</primary>
21 </indexterm>
22
23 <sect2 role="package">
24 <title/>
25
26 <para>The Eudev package contains programs for dynamic creation of device
27 nodes.</para>
28
29 <segmentedlist>
30 <segtitle>&buildtime;</segtitle>
31 <segtitle>&diskspace;</segtitle>
32
33 <seglistitem>
34 <seg>&eudev-fin-sbu;</seg>
35 <seg>&eudev-fin-du;</seg>
36 </seglistitem>
37 </segmentedlist>
38 </sect2>
39
40 <sect2 role="installation">
41 <title>Installation of Eudev</title>
42
43 <para>First fix the location of udev rules in the .pc file:</para>
44
45<screen><userinput remap="pre">sed -i '/udevdir/a udev_dir=${udevdir}' src/udev/udev.pc.in</userinput></screen>
46
47 <para>Prepare Eudev for compilation:</para>
48
49<screen><userinput remap="configure">./configure --prefix=/usr \
50 --bindir=/usr/sbin \
51 --sysconfdir=/etc \
52 --enable-manpages \
53 --disable-static</userinput></screen>
54
55 <para>Compile the package:</para>
56
57<screen><userinput remap="make">make</userinput></screen>
58
59 <para>Create some directories now that are needed for tests, but
60 will also be used as a part of installation:</para>
61
62<screen><userinput remap="test">mkdir -pv /usr/lib/udev/rules.d
63mkdir -pv /etc/udev/rules.d</userinput></screen>
64
65 <para>To test the results, issue:</para>
66
67<screen><userinput remap="test">make check</userinput></screen>
68
69 <para>Install the package:</para>
70
71<screen><userinput remap="install">make install</userinput></screen>
72
73 <para>Install some custom rules and support files useful in an LFS
74 environment:</para>
75
76<screen><userinput remap="install">tar -xvf ../&udev-lfs-version;.tar.xz
77make -f &udev-lfs-version;/Makefile.lfs install</userinput></screen>
78
79 </sect2>
80
81 <!-- - - - - - - - - - -->
82 <!-- Multilib - 32bit -->
83 <!-- - - - - - - - - - -->
84
85 <sect2 arch="ml_32,ml_all" role="installation">
86 <title>Installation of Eudev - 32bit</title>
87
88 <para>Clean previous build:</para>
89
90<screen><userinput remap="pre">make distclean</userinput></screen>
91
92 <para>Prepare Eudev for compilation:</para>
93
94<screen><userinput remap="configure">CC="gcc -m32" \
95./configure --host=i686-pc-linux-gnu \
96 --prefix=/usr \
97 --bindir=/usr/sbin \
98 --libdir=/usr/lib32 \
99 --sysconfdir=/etc \
100 --disable-manpages \
101 --disable-static</userinput></screen>
102
103 <para>Compile the package:</para>
104
105<screen><userinput remap="make">make</userinput></screen>
106
107 <para>Install the package:</para>
108
109<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
110cp -Rv DESTDIR/usr/lib32/* /usr/lib32
111rm -rf DESTDIR</userinput></screen>
112
113 </sect2><!-- m32 -->
114
115 <!-- - - - - - - - - - -->
116 <!-- Multilib - x32bit -->
117 <!-- - - - - - - - - - -->
118
119 <sect2 arch="ml_x32,ml_all" role="installation">
120 <title>Installation of Eudev - x32bit</title>
121
122 <para>Clean previous build:</para>
123
124<screen><userinput remap="pre">make distclean</userinput></screen>
125
126 <para>Prepare Eudev for compilation:</para>
127
128<screen><userinput remap="configure">CC="gcc -mx32" \
129./configure --host=x86_64-lfs-linux-gnux32 \
130 --prefix=/usr \
131 --bindir=/usr/sbin \
132 --libdir=/usr/libx32 \
133 --sysconfdir=/etc \
134 --disable-manpages \
135 --disable-static</userinput></screen>
136
137 <para>Compile the package:</para>
138
139<screen><userinput remap="make">make</userinput></screen>
140
141 <para>Install the package:</para>
142
143<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
144cp -Rv DESTDIR/usr/libx32/* /usr/libx32
145rm -rf DESTDIR</userinput></screen>
146
147 </sect2><!-- mx32 -->
148
149 <sect2 id="conf-eudev" role="configuration">
150 <title>Configuring Eudev</title>
151
152 <indexterm zone="conf-eudev">
153 <primary sortas="a-Eudev">Eudev</primary>
154 <secondary>configuring</secondary>
155 </indexterm>
156
157 <indexterm zone="conf-eudev">
158 <primary sortas="e-/etc/udev/rules.d/65-kvm.rules">/etc/udev/rules.d/65-kvm.rules</primary>
159 </indexterm>
160
161 <para>
162 The default udev rule installed by Eudev would allow all users to
163 access <filename class='devicefile'>/dev/kvm</filename>. The editors
164 consider it dangerous. Create a configuration file to override it:
165 </para>
166
167<screen><userinput remap="configure">cat > /etc/udev/rules.d/65-kvm.rules &lt;&lt; "EOF"
168<literal>KERNEL=="kvm", GROUP="kvm", MODE="0660", TAG+="uaccess"</literal>
169EOF</userinput></screen>
170
171 <indexterm zone="conf-eudev">
172 <primary sortas="e-/etc/udev/hwdb.bin">/etc/udev/hwdb.bin</primary>
173 </indexterm>
174
175 <para>Information about hardware devices is maintained in the
176 <filename class="directory">/etc/udev/hwdb.d</filename> and
177 <filename class="directory">/usr/lib/udev/hwdb.d</filename> directories.
178 <application>Eudev</application> needs that information to be compiled
179 into a binary database <filename>/etc/udev/hwdb.bin</filename>. Create the
180 initial database:</para>
181
182<screen><userinput>udevadm hwdb --update</userinput></screen>
183
184 <para>This command needs to be run each time the hardware information is
185 updated.</para>
186
187 </sect2>
188
189 <sect2 id="contents-eudev" role="content">
190 <title>Contents of Eudev</title>
191
192 <segmentedlist>
193 <segtitle>Installed programs</segtitle>
194 <segtitle>Installed libraries</segtitle>
195 <segtitle>Installed directories</segtitle>
196
197 <seglistitem>
198 <seg><!-- These are in /usr/lib/udev and not to be called by the user:
199 accelerometer, ata_id, cdrom_id, collect, mtd_probe,
200 scsi_id, v4l_id,--> udevadm and udevd</seg>
201
202 <seg>libudev.so</seg>
203
204 <seg>/etc/udev, /usr/lib/udev, and /usr/share/doc/udev-&udev-lfs-version;</seg>
205 </seglistitem>
206 </segmentedlist>
207
208 <variablelist>
209 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
210 <?dbfo list-presentation="list"?>
211 <?dbhtml list-presentation="table"?>
212 <varlistentry id="udevadm" revision="sysv">
213 <term><command>udevadm</command></term>
214 <listitem>
215 <para>Generic udev administration tool: controls the udevd daemon,
216 provides info from the Udev database, monitors uevents, waits for
217 uevents to finish, tests Udev configuration, and triggers uevents
218 for a given device</para>
219 <indexterm zone="ch-system-eudev udevadm">
220 <primary sortas="b-udevadm">udevadm</primary>
221 </indexterm>
222 </listitem>
223 </varlistentry>
224
225 <varlistentry id="udevd">
226 <term><command>udevd</command></term>
227 <listitem>
228 <para>A daemon that listens for uevents on the netlink socket,
229 creates devices and runs the configured external programs in
230 response to these uevents</para>
231 <indexterm zone="ch-system-eudev udevd">
232 <primary sortas="b-udevd">udevd</primary>
233 </indexterm>
234 </listitem>
235 </varlistentry>
236
237 <varlistentry id="libudev">
238 <term><filename class="libraryfile">libudev</filename></term>
239 <listitem>
240 <para>A library interface to udev device information</para>
241 <indexterm zone="ch-system-eudev libudev">
242 <primary sortas="c-libudev">libudev</primary>
243 </indexterm>
244 </listitem>
245 </varlistentry>
246
247 <varlistentry id="etc-udev">
248 <term><filename class="directory">/etc/udev</filename></term>
249 <listitem>
250 <para>Contains Udev configuration files,
251 device permissions, and rules for device naming</para>
252 <indexterm zone="ch-system-eudev etc-udev">
253 <primary sortas="e-/etc/udev">/etc/udev</primary>
254 </indexterm>
255 </listitem>
256 </varlistentry>
257
258 </variablelist>
259
260 </sect2>
261
262</sect1>
Note: See TracBrowser for help on using the repository browser.