diff options
author | Alexander E. Patrakov <alexander@linuxfromscratch.org> | 2004-05-20 01:47:22 +0000 |
---|---|---|
committer | Alexander E. Patrakov <alexander@linuxfromscratch.org> | 2004-05-20 01:47:22 +0000 |
commit | 72b0264b85cbe2e8841e0386f8f698e414afcbf3 (patch) | |
tree | 13b539527dc183ccf12ab69897b394af0e66f09e | |
parent | cdb5a787761f3085c243ea0d68a5234ebc9bf225 (diff) |
Added hotplug to HEAD
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@3671 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
-rw-r--r-- | TODO | 1 | ||||
-rw-r--r-- | chapter01/changelog.xml | 5 | ||||
-rw-r--r-- | chapter03/packages.xml | 7 | ||||
-rw-r--r-- | chapter03/patches.xml | 28 | ||||
-rw-r--r-- | chapter06/chapter06.xml | 1 | ||||
-rw-r--r-- | chapter06/hotplug.xml | 203 | ||||
-rw-r--r-- | chapter06/pwdgroup.xml | 1 | ||||
-rw-r--r-- | chapter06/udev.xml | 5 | ||||
-rw-r--r-- | chapter08/fstab.xml | 5 | ||||
-rw-r--r-- | chapter08/kernel.xml | 4 | ||||
-rw-r--r-- | general.ent | 5 |
11 files changed, 256 insertions, 9 deletions
@@ -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. diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index cfd0663e1..1f8fe5672 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -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> diff --git a/chapter03/packages.xml b/chapter03/packages.xml index b4c7dd96d..91a64d753 100644 --- a/chapter03/packages.xml +++ b/chapter03/packages.xml @@ -166,6 +166,13 @@ </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> <para><ulink url="&freshmeat;iana-etc/"/></para> diff --git a/chapter03/patches.xml b/chapter03/patches.xml index 90bcaa7a7..0c81eff64 100644 --- a/chapter03/patches.xml +++ b/chapter03/patches.xml @@ -64,6 +64,34 @@ following:</para> </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> <para><ulink url="&patches-root;inetutils-&inetutils-version;-kernel-headers-1.patch"/></para> diff --git a/chapter06/chapter06.xml b/chapter06/chapter06.xml index b1a26b25f..a99b76af8 100644 --- a/chapter06/chapter06.xml +++ b/chapter06/chapter06.xml @@ -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"/> diff --git a/chapter06/hotplug.xml b/chapter06/hotplug.xml new file mode 100644 index 000000000..dcc704950 --- /dev/null +++ b/chapter06/hotplug.xml @@ -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> diff --git a/chapter06/pwdgroup.xml b/chapter06/pwdgroup.xml index 880a266e7..44827432c 100644 --- a/chapter06/pwdgroup.xml +++ b/chapter06/pwdgroup.xml @@ -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 diff --git a/chapter06/udev.xml b/chapter06/udev.xml index 2c3453bf8..3d90f6ab9 100644 --- a/chapter06/udev.xml +++ b/chapter06/udev.xml @@ -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> diff --git a/chapter08/fstab.xml b/chapter08/fstab.xml index 6c8738cc8..3c76ff2fa 100644 --- a/chapter08/fstab.xml +++ b/chapter08/fstab.xml @@ -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 diff --git a/chapter08/kernel.xml b/chapter08/kernel.xml index f7ba78e97..6013089e5 100644 --- a/chapter08/kernel.xml +++ b/chapter08/kernel.xml @@ -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 diff --git a/general.ent b/general.ent index 998f7e79a..4aec7892f 100644 --- a/general.ent +++ b/general.ent @@ -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"> |