mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-03-06 06:14:47 +00:00
Added hotplug to HEAD
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@3671 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
parent
cdb5a78776
commit
72b0264b85
1
TODO
1
TODO
@ -6,3 +6,4 @@
|
||||
those at the beginning of chapter 6 and have one less package to compile.
|
||||
We need to be sure this doens't break the pureness though.
|
||||
- Check for pureness and fix any occurrences of breakage.
|
||||
- Add more index terms to hotplug page.
|
||||
|
@ -33,6 +33,7 @@ first a summary, then a detailed log.</para>
|
||||
<listitem><para>glibc-2.3.4-20040510</para></listitem>
|
||||
<listitem><para>groff-1.19.1</para></listitem>
|
||||
<listitem><para>grub-0.94</para></listitem>
|
||||
<listitem><para>hotplug-2004_04_01</para></listitem>
|
||||
<listitem><para>kbd-1.12</para></listitem>
|
||||
<listitem><para>less-382</para></listitem>
|
||||
<listitem><para>lfs-bootscripts-2.1.1</para></listitem>
|
||||
@ -71,6 +72,7 @@ first a summary, then a detailed log.</para>
|
||||
<listitem><para>udev-025</para></listitem>
|
||||
<listitem><para>udev-025-config-1.patch</para></listitem>
|
||||
<listitem><para>util-linux-2.12a-kernel-headers-1.patch</para></listitem>
|
||||
<listitem><para>hotplug-2004_04_01</para></listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
@ -97,6 +99,9 @@ first a summary, then a detailed log.</para>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem><para>May 20th, 2004 [alexander]: Added Hotplug 2004_04_01.
|
||||
</para></listitem>
|
||||
|
||||
<listitem><para>May 19th, 2004 [winkie]: Upgraded to Binutils 2.15 & GCC
|
||||
3.4.1-20040517.</para></listitem>
|
||||
|
||||
|
@ -165,6 +165,13 @@
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Hotplug (&hotplug-version;) - 34 KB:</term>
|
||||
<listitem>
|
||||
<para><ulink url="http://www.kernel.org/pub/linux/utils/kernel/hotplug/"/></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Iana-Etc (&iana-etc-version;) - 161 KB:</term>
|
||||
<listitem>
|
||||
|
@ -63,6 +63,34 @@ following:</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Hotplug patch that eliminates bogus dependencies - 1 KB:</term>
|
||||
<listitem>
|
||||
<para><ulink url="&patches-root;hotplug-&hotplug-version;-bogus-deps-1.patch"/></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Hotplug patch that makes the initscript consistent with the rest - 1 KB:</term>
|
||||
<listitem>
|
||||
<para><ulink url="&patches-root;hotplug-&hotplug-version;-cosmetic-2.patch"/></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Hotplug patch that fixes USB cold plugging - 1 KB:</term>
|
||||
<listitem>
|
||||
<para><ulink url="&patches-root;hotplug-&hotplug-version;-device-2.patch"/></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Hotplug patch that adds ISAPNP hardware detection (optional) - 1 KB:</term>
|
||||
<listitem>
|
||||
<para><ulink url="&patches-root;hotplug-&hotplug-version;-isapnp-2.patch"/></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Inetutils Kernel Headers Patch - 1 KB:</term>
|
||||
<listitem>
|
||||
|
@ -54,6 +54,7 @@
|
||||
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grep.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grub.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gzip.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="hotplug.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="man.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="make.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="module-init-tools.xml"/>
|
||||
|
203
chapter06/hotplug.xml
Normal file
203
chapter06/hotplug.xml
Normal file
@ -0,0 +1,203 @@
|
||||
<?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" 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>
|
||||
By default, Hotplug does not output anything in its initscript and places it
|
||||
into
|
||||
<filename class="directory">/etc/init.d</filename>,
|
||||
whereas the place for initscripts in LFS is
|
||||
<filename class="directory">/etc/rc.d/init.d</filename>. Apply the patch
|
||||
that makes the output of hotplug initscript more verbose and places this
|
||||
initscript into the proper directory:
|
||||
</para>
|
||||
|
||||
<screen><userinput>patch -Np1 -i ../hotplug-&hotplug-version;-cosmetic-2.patch
|
||||
</userinput></screen>
|
||||
|
||||
<para>
|
||||
Apply the patch that avoids bogus dependencies of the hotplug initscript
|
||||
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>Make a symbolic link that tells the lfs-bootscripts package to run the
|
||||
hotplug initscript after mounting and cleaning filesystems:</para>
|
||||
|
||||
<screen><userinput>ln -sf ../init.d/hotplug /etc/rc.d/init.d/S55hotplug</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"</userinput>
|
||||
# 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
|
||||
<userinput>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>
|
||||
<para></para>
|
||||
</sect2>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term id="hotplug"><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>
|
||||
<term id="hotplug-initscript"><command>hotplug</command> initscript</term>
|
||||
<listitem>
|
||||
<indexterm zone="ch-system-hotplug hotplug-initscript"><primary
|
||||
sortas="d-hotplug-initscript">hotplug</primary></indexterm>
|
||||
<para>This script just runs all
|
||||
<filename>/etc/hotplug/*.rc</filename> scripts in turn during system
|
||||
startup.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term id="hotplug-rc"><command>*.rc</command> files in
|
||||
<filename class="directory">/etc/hotplug</filename> directory</term>
|
||||
<listitem>
|
||||
<para>These scripts are used for cold plugging, i.e. detection and other
|
||||
specific actions upon hardware already present during system startup. These
|
||||
scripts try to find kernel modules corresponding to your hardware and insert
|
||||
them into the running kernel.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term id="hotplug-agent"><command>*.agent</command> files in
|
||||
<filename class="directory">/etc/hotplug</filename> directory</term>
|
||||
<listitem>
|
||||
<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>
|
||||
<term id="hotplug-functions"><filename>/etc/hotplug/hotplug.functions</filename></term>
|
||||
<listitem>
|
||||
<para>This file contains common functions used by other scripts in hotplug
|
||||
package.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term id="hotplug-blacklist"><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>
|
||||
<term id="hotplug-subdirs"><filename class="directory">/etc/hotplug/{pci,usb}</filename></term>
|
||||
<listitem>
|
||||
<para>These directories are supposed to contain user-written handlers for
|
||||
hotplug events.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term id="hotplug-usb.usermap"><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>
|
||||
<term id="hotplug-hotplug.d"><filename class="directory">/etc/hotplug.d</filename></term>
|
||||
<listitem>
|
||||
<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>
|
||||
</sect1>
|
@ -47,6 +47,7 @@ dialout:x:10:
|
||||
audio:x:11:
|
||||
video:x:12:
|
||||
utmp:x:13:
|
||||
usb:x:15:
|
||||
<userinput>EOF</userinput></screen>
|
||||
|
||||
<para>The created groups aren't part of any standard -- they are some of the
|
||||
|
@ -38,11 +38,6 @@ by applying the following patch:</para>
|
||||
|
||||
<screen><userinput>make udevdir=/dev install</userinput></screen>
|
||||
|
||||
<para>And since we aren't going to be using the udev daemon, but instead the
|
||||
udev binary itself, we correct it's hotplug configuration:</para>
|
||||
|
||||
<screen><userinput>ln -sf /sbin/udev /etc/hotplug.d/default/udev.hotplug</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
|
||||
|
@ -25,7 +25,7 @@ proc /proc proc defaults 0 0
|
||||
sysfs /sys sysfs defaults 0 0
|
||||
devpts /dev/pts devpts gid=4,mode=620 0 0
|
||||
shm /dev/shm tmpfs defaults 0 0
|
||||
|
||||
usbfs /proc/bus/usb usbfs devgid=15,devmode=0660 0 0
|
||||
# End /etc/fstab
|
||||
<userinput>EOF</userinput></screen>
|
||||
|
||||
@ -33,7 +33,8 @@ shm /dev/shm tmpfs defaults 0 0
|
||||
and <filename>fff</filename> with the values appropriate for your system --
|
||||
for example <filename>hda2</filename>, <filename>hda5</filename> and
|
||||
<filename>reiserfs</filename>. For all the details on the six fields in this
|
||||
table, see <command>man 5 fstab</command>.</para>
|
||||
table, see <command>man 5 fstab</command>. Omit the usbfs line if you didn't
|
||||
compile "USB device filesystem" into the kernel.</para>
|
||||
|
||||
<para>When using a reiserfs partition, the <emphasis>1 1</emphasis> at the
|
||||
end of the line should be replaced with <emphasis>0 0</emphasis>, as such a
|
||||
|
@ -63,6 +63,10 @@ scratch.</para>
|
||||
<quote>Virtual memory file system support</quote> is enabled. It resides within
|
||||
the <quote>File systems</quote> menu and is normally enabled by default.</para>
|
||||
|
||||
<para>LFS bootscripts make the assumption that you either compile
|
||||
"USB device filesystem" directly into the kernel, or don't compile it at
|
||||
all. They will not work properly if it is a module (usbcore.ko).</para>
|
||||
|
||||
<note><para>NPTL requires the kernel to be compiled with GCC 3.x, in this case
|
||||
&gcc-version;. Compiling with 2.95.x is known to cause failures in the glibc
|
||||
testsuite, so do <emphasis>not</emphasis> compile the kernel with gcc 2.95.x
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!ENTITY version "CVS-20040519">
|
||||
<!ENTITY releasedate "May 19, 2004">
|
||||
<!ENTITY version "CVS-20040520">
|
||||
<!ENTITY releasedate "May 20, 2004">
|
||||
<!ENTITY milestone "6.1">
|
||||
|
||||
<!ENTITY lfs-root "http://www.linuxfromscratch.org/">
|
||||
@ -39,6 +39,7 @@
|
||||
<!ENTITY groff-version "1.19.1">
|
||||
<!ENTITY grub-version "0.94">
|
||||
<!ENTITY gzip-version "1.3.5">
|
||||
<!ENTITY hotplug-version "2004_04_01">
|
||||
<!ENTITY iana-etc-version "1.00">
|
||||
<!ENTITY inetutils-version "1.4.2">
|
||||
<!ENTITY kbd-version "1.12">
|
||||
|
Loading…
Reference in New Issue
Block a user