source: general/sysutils/hal.xml@ e93b753

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 6.3 6.3-rc1 6.3-rc2 6.3-rc3 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since e93b753 was e93b753, checked in by Randy McMurchy <randy@…>, 18 years ago

Fixed typo in the HAL instructions, thanks to Torsten Vollmann for the report

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

  • Property mode set to 100644
File size: 16.7 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY hal-download-http "http://freedesktop.org/~david/dist/hal-&hal-version;.tar.gz">
8 <!ENTITY hal-download-ftp "ftp://ftp.fu-berlin.de/unix/linux/mirrors/gentoo/distfiles/hal-&hal-version;.tar.gz">
9 <!ENTITY hal-md5sum "2f84ddbc22bc35baa9388e7794d1fa31">
10 <!ENTITY hal-size "1.4 MB">
11 <!ENTITY hal-buildsize "18.0 MB">
12 <!ENTITY hal-time "0.5 SBU">
13]>
14
15<sect1 id="hal" xreflabel="HAL-&hal-version;">
16 <?dbhtml filename="hal.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 <keywordset>
22 <keyword role="package">hal-&hal-version;.tar</keyword>
23 <keyword role="ftpdir">hal</keyword>
24 </keywordset>
25 </sect1info>
26
27 <title>HAL-&hal-version;</title>
28
29 <indexterm zone="hal">
30 <primary sortas="a-HAL">HAL</primary>
31 </indexterm>
32
33 <sect2 role="package">
34 <title>Introduction to HAL</title>
35
36 <para><application>HAL</application> is a hardware abstraction layer, which
37 is a piece of software that provides a view of the various hardware
38 attached to a system. In addition to this, <application>HAL</application>
39 keeps detailed metadata for each piece of hardware and provides hooks such
40 that system and desktop-level software can react to changes in the hardware
41 configuration in order to maintain system policy. The most important goal
42 of <application>HAL</application> is to provide plug-and-play facilities
43 for UNIX-like desktops with focus on providing a rich and extensible
44 description of device characteristics and features.</para>
45
46 <bridgehead renderas="sect3">Package Information</bridgehead>
47 <itemizedlist spacing="compact">
48 <listitem>
49 <para>Download (HTTP): <ulink url="&hal-download-http;"/></para>
50 </listitem>
51 <listitem>
52 <para>Download (FTP): <ulink url="&hal-download-ftp;"/></para>
53 </listitem>
54 <listitem>
55 <para>Download MD5 sum: &hal-md5sum;</para>
56 </listitem>
57 <listitem>
58 <para>Download size: &hal-size;</para>
59 </listitem>
60 <listitem>
61 <para>Estimated disk space required: &hal-buildsize;</para>
62 </listitem>
63 <listitem>
64 <para>Estimated build time: &hal-time;</para>
65 </listitem>
66 </itemizedlist>
67
68 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
69 <itemizedlist spacing="compact">
70 <listitem>
71 <para>Recommended USB ID list:
72 <ulink url="http://www.linux-usb.org/usb.ids"/></para>
73 </listitem>
74 </itemizedlist>
75
76 <bridgehead renderas="sect3">HAL Dependencies</bridgehead>
77
78 <bridgehead renderas="sect4">Required</bridgehead>
79 <para role="required"><xref linkend="dbus"/>,
80 <xref linkend="popt"/> and
81 <xref linkend="perl-xml-parser"/></para>
82
83 <bridgehead renderas="sect4">Recommended</bridgehead>
84 <para role="recommended"><xref linkend="pciutils"/> (with a current
85 <filename>pci.ids</filename> file)</para>
86
87 <bridgehead renderas="sect4">Optional</bridgehead>
88 <para role="optional"><xref linkend="pkgconfig"/>,
89 <xref linkend="intltool"/>,
90 <xref linkend="libusb"/>,
91 <xref linkend="expat"/>,
92 <xref linkend="python"/>,
93 <ulink url="http://ftp.gnome.org/pub/GNOME/sources/gnome-python/">GNOME-Python</ulink>
94 (run-time requirement to use the <command>hal-device-manager</command> program),
95 <xref linkend="doxygen"/> and
96 <xref linkend="docbook-utils"/></para>
97
98 </sect2>
99
100 <sect2 role="installation">
101 <title>Installation of HAL</title>
102
103 <para>If you downloaded the USB ID list, install it by issuing the
104 following command as the <systemitem class="username">root</systemitem>
105 user:</para>
106
107<screen role="root"><userinput>install -v -m644 ../usb.ids /usr/share</userinput></screen>
108
109 <para>You must create a dedicated user and group for the
110 <application>HAL</application> daemon before installing the package. Issue
111 the following as the <systemitem class="username">root</systemitem>
112 user:</para>
113
114<screen role="root"><userinput>groupadd -g 19 haldaemon &amp;&amp;
115useradd -c "HAL Daemon User" -d /dev/null -u 19 \
116 -g haldaemon -s /bin/false haldaemon</userinput></screen>
117
118 <para>Install <application>HAL</application> by running the following
119 commands:</para>
120
121<screen><userinput>sed -i -e "9,11d" -e "s/pamconsole/users/" \
122 fdi/policy/10osvendor/10-storage-policy.fdi &amp;&amp;
123./configure --prefix=/usr \
124 --sysconfdir=/etc \
125 --libexecdir=/usr/lib/hal \
126 --localstatedir=/var \
127 --enable-fstab-sync \
128 --enable-pcmcia-support &amp;&amp;
129make</userinput></screen>
130
131 <para>This package does not come with a test suite.</para>
132
133 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
134
135<screen role="root"><userinput>make install &amp;&amp;
136install -v -m755 -d /var/run/hald</userinput></screen>
137
138 </sect2>
139
140 <sect2 role="commands">
141 <title>Command Explanations</title>
142
143 <para><command>sed -i -e "9,11d" -e "s/pamconsole/users/" ...</command>:
144 This command adjusts the policy for storage devices so that the
145 <filename>/etc/fstab</filename> file is updated to standards used by LFS
146 systems.</para>
147
148 <para><parameter>--libexecdir=/usr/lib/hal</parameter>: This parameter
149 forces the installation of libexec files to
150 <filename class='directory'>/usr/lib/hal</filename> instead of
151 <filename class='directory'>/usr/libexec</filename>.</para>
152
153 <para><parameter>--localstatedir=/var</parameter>: This parameter forces
154 the creation of the <filename>pid</filename> file to
155 <filename class='directory'>/var/run/hald</filename> instead of
156 <filename class='directory'>/usr/var/run/hald</filename>.</para>
157
158 <para><parameter>--enable-fstab-sync</parameter>: This parameter will
159 ensure the <command>fstab-sync</command> program is built.</para>
160
161 <para><parameter>--enable-pcmcia-support</parameter>: This parameter
162 provides extended PCMCIA support.</para>
163
164 </sect2>
165
166 <sect2 role="configuration">
167 <title>Configuring HAL</title>
168
169 <sect3 id="hal-config">
170 <title>Config Files</title>
171 <para><filename>/etc/dbus-1/system.d/hal.conf</filename> and
172 <filename>/etc/hal/*</filename></para>
173
174 <indexterm zone="hal hal-config">
175 <primary sortas="e-etc-dbus-1-system.d-hal.conf">/etc/dbus-1/system.d/hal.conf</primary>
176 </indexterm>
177
178 <indexterm zone="hal hal-config">
179 <primary sortas="e-etc-hal-star">/etc/hal/*</primary>
180 </indexterm>
181 </sect3>
182
183 <sect3><title>Configuration Information</title>
184
185 <para>No configuration is necessary as the default values will work for
186 most systems. Some tweaking of the various policies may be required for
187 special circumstances.</para>
188
189 </sect3>
190
191 <sect3 id="hal-init">
192 <title>Boot Script</title>
193
194 <para>To automatically start the <command>hald</command> daemon
195 when the system is rebooted, install the
196 <filename>/etc/rc.d/init.d/haldaemon</filename>
197 bootscript from the
198 <xref linkend="intro-important-bootscripts"/> package.</para>
199
200 <indexterm zone="hal hal-init">
201 <primary sortas="f-haldaemon">haldaemon</primary>
202 </indexterm>
203
204 <note>
205 <para>If the system-wide <application>D-BUS</application> daemon was
206 running during the installation of <application>HAL</application>,
207 ensure you stop and restart the <application>D-BUS</application>
208 daemon before attempting to start the <command>hald</command>
209 daemon.</para>
210 </note>
211
212<screen role="root"><userinput>make install-haldaemon</userinput></screen>
213
214 </sect3>
215
216 </sect2>
217
218 <sect2 role="content">
219 <title>Contents</title>
220
221 <segmentedlist>
222 <segtitle>Installed Programs</segtitle>
223 <segtitle>Installed Libraries</segtitle>
224 <segtitle>Installed Directories</segtitle>
225
226 <seglistitem>
227 <seg>fstab-sync, hal.hotplug, hal-device, hal-device-manager,
228 hal-find-by-capability, hal-find-by-property, hal-get-property,
229 hal-luks-remove, hal-luks-setup, hal-set-property,
230 hal-system-power-hibernate, hal-system-power-set-power-save,
231 hal-system-power-suspend, hald, hald-addon-acpi, hald-addon-hid-ups,
232 hald-addon-pmu, hald-addon-storage, hald-addon-usb-csr,
233 hald-probe-hiddev, hald-probe-input, hald-probe-pc-floppy,
234 hald-probe-printer, hald-probe-smbios, hald-probe-storage,
235 hald-probe-volume and lshal</seg>
236 <seg>libhal.[so,a] and libhal-storage,[so,a]</seg>
237 <seg>/etc/hal, /usr/include/hal, /usr/lib/hal,
238 /usr/share/doc/hal-&hal-version;, /usr/share/hal
239 and /var/run/hald</seg>
240 </seglistitem>
241 </segmentedlist>
242
243 <variablelist>
244 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
245 <?dbfo list-presentation="list"?>
246 <?dbhtml list-presentation="table"?>
247
248 <varlistentry id="fstab-sync">
249 <term><command>fstab-sync</command></term>
250 <listitem>
251 <para>updates the file systems table file
252 <filename class='directory'>/etc/fstab</filename> and creates/removes
253 mount points in <filename class='directory'>/media</filename> in
254 response to <application>HAL</application> events. This program is
255 usually never run directly from a shell; instead it is invoked as a
256 callout by the <application>HAL</application> daemon.</para>
257 <indexterm zone="hal fstab-sync">
258 <primary sortas="b-fstab-sync">fstab-sync</primary>
259 </indexterm>
260 </listitem>
261 </varlistentry>
262
263 <varlistentry id="hal-device">
264 <term><command>hal-device</command></term>
265 <listitem>
266 <para>is used to create, remove or show a
267 <application>HAL</application> device.</para>
268 <indexterm zone="hal hal-device">
269 <primary sortas="b-hal-device">hal-device</primary>
270 </indexterm>
271 </listitem>
272 </varlistentry>
273
274 <varlistentry id="hal-device-manager">
275 <term><command>hal-device-manager</command></term>
276 <listitem>
277 <para>shows a graphical respresentation of all the devices
278 <application>HAL</application> is aware of. This program requires
279 <application>GNOME-Python</application>.</para>
280 <indexterm zone="hal hal-device-manager">
281 <primary sortas="b-hal-device-manager">hal-device-manager</primary>
282 </indexterm>
283 </listitem>
284 </varlistentry>
285
286 <varlistentry id="hal-find-by-capability">
287 <term><command>hal-find-by-capability</command></term>
288 <listitem>
289 <para>prints the Unique Device Identifiers for
290 <application>HAL</application> device objects of a given
291 capability.</para>
292 <indexterm zone="hal hal-find-by-capability">
293 <primary sortas="b-hal-find-by-cpability">hal-find-by-capability</primary>
294 </indexterm>
295 </listitem>
296 </varlistentry>
297
298 <varlistentry id="hal-find-by-property">
299 <term><command>hal-find-by-property</command></term>
300 <listitem>
301 <para>prints the Unique Device Identifiers for
302 <application>HAL</application> device objects where a given property
303 assumes a given value.</para>
304 <indexterm zone="hal hal-find-by-property">
305 <primary sortas="b-hal-find-by-property">hal-find-by-property</primary>
306 </indexterm>
307 </listitem>
308 </varlistentry>
309
310 <varlistentry id="hal-get-property">
311 <term><command>hal-get-property</command></term>
312 <listitem>
313 <para>retrieves a property from a device.</para>
314 <indexterm zone="hal hal-get-property">
315 <primary sortas="b-hal-get-property">hal-get-property</primary>
316 </indexterm>
317 </listitem>
318 </varlistentry>
319
320 <varlistentry id="hal-luks-remove">
321 <term><command>hal-luks-remove</command></term>
322 <listitem>
323 <para>is a <application>HAL</application> method wrapper for
324 <command>cryptsetup</command> remove. This program requires <ulink
325 url="http://luks.endorphin.org/dm-crypt">LUKS</ulink>.</para>
326 <indexterm zone="hal hal-luks-remove">
327 <primary sortas="b-hal-luks-remove">hal-luks-remove</primary>
328 </indexterm>
329 </listitem>
330 </varlistentry>
331
332 <varlistentry id="hal-luks-setup">
333 <term><command>hal-luks-setup</command></term>
334 <listitem>
335 <para>is a <application>HAL</application> method wrapper for
336 <command>luks-setup</command>. This program requires <ulink
337 url="http://luks.endorphin.org/dm-crypt">LUKS</ulink>.</para>
338 <indexterm zone="hal hal-luks-setup">
339 <primary sortas="b-hal-luks-setup">hal-luks-setup</primary>
340 </indexterm>
341 </listitem>
342 </varlistentry>
343
344 <varlistentry id="hal-set-property">
345 <term><command>hal-set-property</command></term>
346 <listitem>
347 <para>attempts to set property for a device. Note that, due to
348 security considerations, it may not be possible to set a
349 property.</para>
350 <indexterm zone="hal hal-set-property">
351 <primary sortas="b-hal-set-property">hal-set-property</primary>
352 </indexterm>
353 </listitem>
354 </varlistentry>
355
356 <varlistentry id="hal-system-power-hibernate">
357 <term><command>hal-system-power-hibernate</command></term>
358 <listitem>
359 <para>is a <application>HAL</application> wrapper script for
360 system power saving features. This program is currently not supported
361 on LFS platforms.</para>
362 <indexterm zone="hal hal-system-power-hibernate">
363 <primary sortas="b-hal-system-power-hibernate">hal-system-power-hibernate</primary>
364 </indexterm>
365 </listitem>
366 </varlistentry>
367
368 <varlistentry id="hal-system-power-set-power-save">
369 <term><command>hal-system-power-set-power-save</command></term>
370 <listitem>
371 <para>is a <application>HAL</application> wrapper script for
372 system power saving features. This program is currently not supported
373 on LFS platforms.</para>
374 <indexterm zone="hal hal-system-power-set-power-save">
375 <primary sortas="b-hal-system-power-set-power-save">hal-system-power-set-power-save</primary>
376 </indexterm>
377 </listitem>
378 </varlistentry>
379
380 <varlistentry id="hal-system-power-suspend">
381 <term><command>hal-system-power-suspend</command></term>
382 <listitem>
383 <para>is a <application>HAL</application> wrapper script for
384 system power saving features. This program is currently not supported
385 on LFS platforms.</para>
386 <indexterm zone="hal hal-system-power-suspend">
387 <primary sortas="b-hal-system-power-suspend">hal-system-power-suspend</primary>
388 </indexterm>
389 </listitem>
390 </varlistentry>
391
392 <varlistentry id="hald">
393 <term><command>hald</command></term>
394 <listitem>
395 <para>is the <application>HAL</application> daemon program.</para>
396 <indexterm zone="hal hald">
397 <primary sortas="b-hald">hald</primary>
398 </indexterm>
399 </listitem>
400 </varlistentry>
401
402 <varlistentry id="lshal">
403 <term><command>lshal</command></term>
404 <listitem>
405 <para>shows all devices and their properties. If the --monitor option
406 is given then the device list and all devices are monitored for
407 changes.</para>
408 <indexterm zone="hal lshal">
409 <primary sortas="b-lshal">lshal</primary>
410 </indexterm>
411 </listitem>
412 </varlistentry>
413
414 <varlistentry id="libhal">
415 <term><filename class='libraryfile'>libhal.[so,a]</filename></term>
416 <listitem>
417 <para>contains the API functions required by the
418 <application>HAL</application> programs.</para>
419 <indexterm zone="hal libhal">
420 <primary sortas="c-libhal">libhal.[so,a]</primary>
421 </indexterm>
422 </listitem>
423 </varlistentry>
424
425 <varlistentry id="libhal-storage">
426 <term><filename class='libraryfile'>libhal-storage.[so,a]</filename></term>
427 <listitem>
428 <para>contains the API functions required by the
429 <application>HAL</application> storage and volume utility
430 programs.</para>
431 <indexterm zone="hal libhal-storage">
432 <primary sortas="c-libhal-storage">libhal-storage.[so,a]</primary>
433 </indexterm>
434 </listitem>
435 </varlistentry>
436
437 </variablelist>
438
439 </sect2>
440
441</sect1>
Note: See TracBrowser for help on using the repository browser.