Updated to udev-096 and udev-config-20060712. Closes #1804.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7659 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
Dan Nichilson 2006-07-12 15:40:52 +00:00
parent cd2f7f0340
commit a263c7ad8c
3 changed files with 14 additions and 77 deletions

View File

@ -43,6 +43,13 @@
man page symlink in all available languages. Closes ticket
#1811. Thanks to Alexander Patrakov.</para>
</listitem>
<listitem>
<para>[dnicholson] - Updated to udev-096 and udev-config-20060712.
Removed the bug.c program and the cd symlinks script. The cd
symlinks will be covered in Chapter 7. Closes ticket #1804. Thanks
to Alexander Patrakov for making the appropriate changes in the
Udev rules.</para>
</listitem>
</itemizedlist>
</listitem>

View File

@ -94,87 +94,17 @@ ln -sv /proc/kcore /lib/udev/devices/core</userinput></screen>
</variablelist>
<para>Udev's configuration is far from ideal by default, so install
the configuration files here:</para>
<para>Udev has to be configured in order to work properly, and does
not come with any sort of "default" configuration. Install the
LFS-specific configuration files:</para>
<!-- FIXME: 90-bug.rules should be removed from the tarball once the book is released -->
<screen><userinput>cp -v &udev-config;/[0-9]* /etc/udev/rules.d/</userinput></screen>
<para>Now install a helper script that is not included in the main Udev
tarball:</para>
<screen><userinput>install -v -m 744 &udev-config;/write_cd_aliases /lib/udev/</userinput></screen>
<para>Install the documentation that explains how to create Udev rules:</para>
<screen><userinput>install -m644 -D -v docs/writing_udev_rules/index.html \
/usr/share/doc/udev-&udev-version;/index.html</userinput></screen>
<important>
<para>When Udev is started by the LFS-Bootscripts, a replay of all kernel
device events happens. These events tell Udev what devices exist.
Sometimes the Udev bootscript doesn't wait long enough for
<command>udevd</command> to process all of the replayed events and
consequently the devices for those missed events are not created before the
script exits. Since <command>udevd</command> is still running in the
background, the devices will be created a few milliseconds later, but the
next bootscript to run may require a device to exist before it has been
created. To avoid such missed events, and to avoid hardcoding an overly
long wait time, It is recommended that you run the following commands to
aid the LFS development team in debugging these missed events and finding
an acceptable solution more quickly.</para>
<para>First, create a simple C file:</para>
<screen><userinput>cat &gt; bug.c &lt;&lt; EOF
<literal>/* Simple event recorder */
#define _GNU_SOURCE
#include &lt;sys/types.h&gt;
#include &lt;sys/stat.h&gt;
#include &lt;fcntl.h&gt;
#include &lt;unistd.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;argz.h&gt;
int main(int argc, char * argv[])
{
char * envar;
char * envz;
size_t len;
int bug;
bug = open("/dev/bug", O_WRONLY | O_APPEND);
if (bug == -1)
return 0;
/* Ignore everything USB-related to avoid spamming the list */
envar = getenv("PHYSDEVPATH");
if (envar &amp;&amp; strstr(envar, "usb"))
return 0;
envar = getenv("DEVPATH");
if (envar &amp;&amp; strstr(envar, "usb"))
return 0;
setenv("_SEPARATOR", "-------------------------------", 1);
argz_create(environ, &amp;envz, &amp;len);
argz_stringify(envz, len, '\n');
envz[len-1]='\n';
write(bug, envz, len);
close(bug);
free(envz);
return 0;
}</literal>
EOF</userinput></screen>
<para>Now compile it:</para>
<screen><userinput>gcc -o /lib/udev/bug bug.c</userinput></screen>
<para>When booting the new LFS system, if any events are missed, a warning
message will appear and a <filename>/dev/bugreport</filename> file will be
created. The warning message will tell you where to send feedback.</para>
</important>
</sect2>
<sect2 id="contents-udev" role="content">

View File

@ -482,18 +482,18 @@
<!ENTITY texinfo-ch6-du "16.6 MB">
<!ENTITY texinfo-ch6-sbu "0.2 SBU">
<!ENTITY udev-version "092">
<!ENTITY udev-version "096">
<!ENTITY udev-size "190 KB">
<!ENTITY udev-url "&kernel;linux/utils/kernel/hotplug/udev-&udev-version;.tar.bz2">
<!ENTITY udev-md5 "5e9ff419ac0132531990a7c5db80ef3e">
<!ENTITY udev-md5 "f4effef7807ce1dc91ab581686ef197b">
<!ENTITY udev-home "http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html">
<!ENTITY udev-ch6-du "6.8 MB">
<!ENTITY udev-ch6-sbu "0.1 SBU">
<!ENTITY udev-config "udev-config-20060515">
<!ENTITY udev-config "udev-config-20060712">
<!ENTITY udev-config-size "4 KB">
<!ENTITY udev-config-url "http://downloads.linuxfromscratch.org/&udev-config;.tar.bz2">
<!ENTITY udev-config-md5 "0caf192fcbcc535f1201df838a675c50">
<!ENTITY udev-config-md5 "7bc92ab0aafa06adbb62a493bcc71186">
<!ENTITY udev-config-home " ">
<!ENTITY util-linux-version "2.12r">