lfs/chapter06/hotplug.xml
Jeremy Utley 3827b0493e Upgraded to Hotplug-2004_09_23
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@4213 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2004-09-26 07:55:43 +00:00

149 lines
5.4 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-hotplug" xreflabel="Hotplug" role="wrap">
<title>Hotplug-&hotplug-version;</title>
<?dbhtml filename="hotplug.html"?>
<indexterm zone="ch-system-hotplug"><primary sortas="a-Hotplug">Hotplug</primary></indexterm>
<sect2 role="package"><title/>
<para>The Hotplug package contains scripts that react upon hotplug events
generated by the kernel. Such events correspond to every change in the
in the kernel state visible in the "sysfs" filesystem, e.g., the addition and
removal of hardware. This package also detects existing hardware during
boot and inserts the relevant modules into the running kernel.
</para>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.01 SBU</seg><seg>0.1 MB</seg></seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Hotplug</title>
<para>Install the Hotplug package:</para>
<screen><userinput>make install</userinput></screen>
<para>Remove Hotplug's not-so-clean init script, since we're going to be using
the script including with LFS-Bootscripts:</para>
<screen><userinput>rm -rf /etc/init.d</userinput></screen>
<para>Network device hotplugging is not supported by LFS bootscripts yet. For
that reason, remove the network hotplug agent:</para>
<screen><userinput>rm -f /etc/hotplug/net.agent</userinput></screen>
</sect2>
<sect2 id="contents-hotplug" role="content"><title>Contents of Hotplug</title>
<variablelist>
<varlistentry id="hotplug">
<term><command>/sbin/hotplug</command></term>
<listitem>
<indexterm zone="ch-system-hotplug hotplug"><primary
sortas="b-hotplug">hotplug</primary></indexterm>
<para>This script is called by default by Linux kernel when something
changes in its internal state (e.g., a new device is added or removed).</para>
</listitem>
</varlistentry>
<varlistentry id="hotplug-rc">
<term><command>*.rc</command> files in
<filename class="directory">/etc/hotplug</filename> directory</term>
<listitem>
<indexterm zone="ch-system-hotplug hotplug-rc"><primary
sortas="e-/etc/hotplug/*.rc">/etc/hotplug/*.rc</primary></indexterm>
<para>These scripts are used for cold plugging, i.e., detection and other
specific actions upon hardware already present during system startup.
They are called by the <filename>hotplug</filename> initscript that comes
from the lfs-bootscripts package.
The <command>*.rc</command>
scripts try to recover hotplug events that were lost during system boot
because, e.g., the root filesystem was not mounted by the kernel.
</para>
</listitem>
</varlistentry>
<varlistentry id="hotplug-agent">
<term><command>*.agent</command> files in
<filename class="directory">/etc/hotplug</filename> directory</term>
<listitem>
<indexterm zone="ch-system-hotplug hotplug-agent"><primary
sortas="e-/etc/hotplug/*.agent">/etc/hotplug/*.agent</primary></indexterm>
<para>These scripts are called by <command>/sbin/hotplug</command>
in response to different types of hotplug events generated by the kernel.
Their action is to insert corresponding kernel modules and call user-provided
scripts, if any.
</para>
</listitem>
</varlistentry>
<varlistentry id="hotplug-functions">
<term><filename>/etc/hotplug/hotplug.functions</filename></term>
<listitem>
<indexterm zone="ch-system-hotplug hotplug-functions"><primary
sortas="e-/etc/hotplug/hotplug.functions">/etc/hotplug/hotplug.functions</primary></indexterm>
<para>This file contains common functions used by other scripts in Hotplug
package.
</para>
</listitem>
</varlistentry>
<varlistentry id="hotplug-blacklist">
<term><filename>/etc/hotplug/blacklist</filename></term>
<listitem>
<indexterm zone="ch-system-hotplug hotplug-blacklist"><primary
sortas="e-/etc/hotplug/blacklist">/etc/hotplug/blacklist</primary></indexterm>
<para>This file contains the list of modules that should never be
inserted into the kernel by hotplug scripts.
</para>
</listitem>
</varlistentry>
<varlistentry id="hotplug-subdirs">
<term><filename class="directory">/etc/hotplug/{pci,usb}</filename></term>
<listitem>
<indexterm zone="ch-system-hotplug hotplug-subdirs"><primary
sortas="e-/etc/hotplug/{pci,usb}">/etc/hotplug/{pci,usb}</primary></indexterm>
<para>These directories are supposed to contain user-written handlers for
hotplug events.
</para>
</listitem>
</varlistentry>
<varlistentry id="hotplug-usb.usermap">
<term><filename>/etc/hotplug/usb.usermap</filename></term>
<listitem>
<indexterm zone="ch-system-hotplug hotplug-usb.usermap"><primary
sortas="e-/etc/hotplug/usb.usermap">/etc/hotplug/usb.usermap</primary></indexterm>
<para>This file contains rules that determine which user-defined handlers to
call for each USB device, based on its vendor, id and other attributes.
</para>
</listitem>
</varlistentry>
<varlistentry id="hotplug-hotplug.d">
<term><filename class="directory">/etc/hotplug.d</filename></term>
<listitem>
<indexterm zone="ch-system-hotplug hotplug-hotplug.d"><primary
sortas="e-/etc/hotplug.d">/etc/hotplug.d</primary></indexterm>
<para>This directory contains programs (or symlinks to them)
that are interested in receiving hotplug events. E.g.,
<application>udev</application> puts its symlink here during installation.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>