source: chapter06/systemd.xml@ e043985

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since e043985 was 92905ed, checked in by Bruce Dubbs <bdubbs@…>, 10 years ago

typo

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10463 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 7.7 KB
RevLine 
[f896e21c]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-udev" role="wrap">
9 <?dbhtml filename="udev.html"?>
10
11 <sect1info condition="script">
12 <productname>udev</productname>
13 <productnumber>&systemd-version;</productnumber>
14 <address>&systemd-url;</address>
15 </sect1info>
16
17 <title>Udev-&systemd-version; (Extracted from systemd-&systemd-version;)</title>
18
19 <indexterm zone="ch-system-udev">
20 <primary sortas="a-Udev">Udev</primary>
21 </indexterm>
22
23 <sect2 role="package">
24 <title/>
25
26 <para>The Udev package contains programs for dynamic creation of device
27 nodes. The development of udev has been merged with systemd, but
[2ca8941]28 most of systemd is incompatible with LFS. Here we build and install just
[f896e21c]29 the needed udev files.</para>
30
31 <segmentedlist>
32 <segtitle>&buildtime;</segtitle>
33 <segtitle>&diskspace;</segtitle>
34
35 <seglistitem>
36 <seg>&systemd-ch6-sbu;</seg>
37 <seg>&systemd-ch6-du;</seg>
38 </seglistitem>
39 </segmentedlist>
40 </sect2>
41
42 <sect2 role="installation">
43 <title>Installation of Udev</title>
44
[d7f2eb0]45 <note><para>This package is a little different from other packages. The
46 initial package that is extracted is
[2ca8941]47 <filename>systemd-&systemd-version;.tar.xz</filename> even though the
48 application we are installing is udev. After changing to the
[d7f2eb0]49 systemd directory, follow the instructions below.</para></note>
50
[f896e21c]51 <para>The udev-lfs tarball contains LFS-specific files used to build
[d7f2eb0]52 Udev. Unpack it into the systemd source directory:</para>
[f896e21c]53
54<screen><userinput remap="pre">tar -xvf ../&udev-lfs;.tar.bz2</userinput></screen>
55
[053b206]56 <para>Create two symbolic links to header files and set an
57 environment variable to properly use <xref linkend="ch-tools-util-linux"/>.</para>
58
59<screen><userinput remap="pre">ln -svf /tools/include/blkid /usr/include
60ln -svf /tools/include/uuid /usr/include
61export LD_LIBRARY_PATH=/tools/lib</userinput></screen>
62
[92905ed]63 <para>Build the package:</para>
[f896e21c]64
[b7da138f]65<screen><userinput remap="make">make -f &udev-lfs;/Makefile.lfs</userinput></screen>
[f896e21c]66
67 <para>Install the package:</para>
68
[b7da138f]69<screen><userinput remap="install">make -f &udev-lfs;/Makefile.lfs install</userinput></screen>
70
71 <caution><para>There are several places within the
72 <application>systemd</application> source code that have explicit directory
73 paths embedded. For instance, the binary version of the hardware
74 database's path and file name used at run time,
[4783efe]75 <filename>/etc/udev/hwdb.bin</filename>, cannot be changed without explicit
[b7da138f]76 changes to the source code.</para></caution>
77
78 <para>Now initialize the hardware database:</para>
79
80<screen><userinput remap="install">build/udevadm hwdb --update</userinput></screen>
[d29a03b]81
82 <para>Finally set up the persistent network udev rules. This task will be
83 explained in detail in <xref linkend='stable-net-names'/>. Note that the
84 <filename class='directory'>/sys</filename> and <filename
85 class='directory'>/proc</filename> filesystems must be mounted in the
86 chroot environment as explained at the beginning of this chapter for the
87 following script to work.</para>
88
[b7da138f]89<screen><userinput remap="install">bash &udev-lfs;/init-net-rules.sh</userinput></screen>
[053b206]90
91 <para>Do some cleanup:</para>
92
93<screen><userinput remap="install">rm -fv /usr/include/{uuid,blkid}
94unset LD_LIBRARY_PATH</userinput></screen>
95
[f896e21c]96 </sect2>
97
98 <sect2 id="contents-udev" role="content">
99 <title>Contents of Udev</title>
100
101 <segmentedlist>
102 <segtitle>Installed programs</segtitle>
103 <segtitle>Installed libraries</segtitle>
104 <segtitle>Installed directories</segtitle>
105
106 <seglistitem>
107 <seg>accelerometer, ata_id, cdrom_id, collect, mtd_probe,
[2191632]108 scsi_id, v4l_id, udevadm, and udevd</seg>
[2ca8941]109
[2191632]110 <seg>libudev.so</seg>
[2ca8941]111
[f896e21c]112 <seg>/etc/udev, /lib/udev, /lib/firmware, /usr/share/doc/udev</seg>
113 </seglistitem>
114 </segmentedlist>
115
116 <variablelist>
117 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
118 <?dbfo list-presentation="list"?>
119 <?dbhtml list-presentation="table"?>
120
121 <varlistentry id="ata_id">
122 <term><command>ata_id</command></term>
123 <listitem>
124 <para>Provides Udev with a unique string and
125 additional information (uuid, label) for an ATA drive</para>
126 <indexterm zone="ch-system-udev ata_id">
127 <primary sortas="b-ata_id">ata_id</primary>
128 </indexterm>
129 </listitem>
130 </varlistentry>
131
132 <varlistentry id="cdrom_id">
133 <term><command>cdrom_id</command></term>
134 <listitem>
135 <para>Provides Udev with the capabilities of a
136 CD-ROM or DVD-ROM drive</para>
137 <indexterm zone="ch-system-udev cdrom_id">
138 <primary sortas="b-cdrom_id">cdrom_id</primary>
139 </indexterm>
140 </listitem>
141 </varlistentry>
142
143 <varlistentry id="collect">
144 <term><command>collect</command></term>
145 <listitem>
146 <para>Given an ID for the current uevent and a list of
147 IDs (for all target uevents), registers the current ID
148 and indicates whether all target IDs have been registered</para>
149 <indexterm zone="ch-system-udev collect">
150 <primary sortas="b-collect">collect</primary>
151 </indexterm>
152 </listitem>
153 </varlistentry>
154
155 <varlistentry id="scsi_id">
156 <term><command>scsi_id</command></term>
157 <listitem>
158 <para>Provides Udev with a unique SCSI identifier
159 based on the data returned from sending a SCSI INQUIRY command to
160 the specified device</para>
161 <indexterm zone="ch-system-udev scsi_id">
162 <primary sortas="b-scsi_id">scsi_id</primary>
163 </indexterm>
164 </listitem>
165 </varlistentry>
166
167 <varlistentry id="udevadm">
168 <term><command>udevadm</command></term>
169 <listitem>
170 <para>Generic udev administration tool: controls the udevd daemon,
171 provides info from the Udev database, monitors uevents, waits for
172 uevents to finish, tests Udev configuration, and triggers uevents
173 for a given device</para>
174 <indexterm zone="ch-system-udev udevadm">
175 <primary sortas="b-udevadm">udevadm</primary>
176 </indexterm>
177 </listitem>
178 </varlistentry>
179
180 <varlistentry id="udevd">
181 <term><command>udevd</command></term>
182 <listitem>
183 <para>A daemon that listens for uevents on the netlink socket,
184 creates devices and runs the configured external programs in
185 response to these uevents</para>
186 <indexterm zone="ch-system-udev udevd">
187 <primary sortas="b-udevd">udevd</primary>
188 </indexterm>
189 </listitem>
190 </varlistentry>
191
192 <varlistentry id="libudev">
193 <term><filename class="libraryfile">libudev</filename></term>
194 <listitem>
195 <para>A library interface to udev device information</para>
196 <indexterm zone="ch-system-udev libudev">
197 <primary sortas="c-libudev">libudev</primary>
198 </indexterm>
199 </listitem>
200 </varlistentry>
201
202 <varlistentry id="etc-udev">
203 <term><filename class="directory">/etc/udev</filename></term>
204 <listitem>
205 <para>Contains Udev configuration files,
206 device permissions, and rules for device naming</para>
207 <indexterm zone="ch-system-udev etc-udev">
208 <primary sortas="e-/etc/udev">/etc/udev</primary>
209 </indexterm>
210 </listitem>
211 </varlistentry>
212
213 </variablelist>
214
215 </sect2>
216
217</sect1>
Note: See TracBrowser for help on using the repository browser.