123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 |
- <?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 various changes
- in the kernel state, in particular, 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>
- Apply the patch that avoids bogus dependencies of the
- <command>usb.rc</command> script
- upon <application>which</application> and
- <application>usbutils</application> packages:
- </para>
- <screen><userinput>patch -Np1 -i ../hotplug-&hotplug-version;-bogus_deps-1.patch</userinput></screen>
- <para>
- USB coldplugging is somewhat broken in Hotplug by default. Fix this with the
- following patch:
- </para>
- <screen><userinput>patch -Np1 -i ../hotplug-&hotplug-version;-device-2.patch</userinput></screen>
- <para>
- At last, there is an optional patch that adds ISAPNP hardware detection
- capabilities to Hotplug. It is not well tested. If you chose to apply it,
- run the following command:
- </para>
- <screen><userinput>patch -Np1 -i ../hotplug-&hotplug-version;-isapnp-2.patch</userinput></screen>
- <para>And finally 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>
- If you have applied the ISAPNP patch, add some required entries to
- <filename>/etc/modprobe.conf</filename>:</para>
- <screen><userinput>cat >>/etc/modprobe.conf <<"EOF"
- # Begin /etc/modprobe.conf entries for ISAPNP hardware detection script
- # by Marco d'Itri
- alias pnp:dPNP0511 irtty-sir
- alias pnp:dPNP0700 floppy
- alias pnp:dPNP0800 pcspkr
- alias pnp:dPNP0B00 rtc
- alias pnp:dPNP0303 atkbd
- alias pnp:dPNP0F13 psmouse
- alias pnp:dPNPB02F analog
- # End /etc/modprobe.conf entries for ISAPNP hardware detection script
- EOF</userinput></screen>
- <para>These entries may become unneded for newer versions of Linux kernel,
- since Marco d'Itri will try to convince developers to put them into the
- corresponding modules themselves.</para>
- </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 find kernel modules corresponding to your hardware and insert
- them into the running 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 all hotplug events. E.g.,
- <application>udev</application> puts its symlink here during installation.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </sect2>
- </sect1>
|