From a263c7ad8c5c8c85ffde0cea5887accbc4697a1a Mon Sep 17 00:00:00 2001 From: Dan Nichilson Date: Wed, 12 Jul 2006 15:40:52 +0000 Subject: 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 --- chapter01/changelog.xml | 7 +++++ chapter06/udev.xml | 76 ++----------------------------------------------- packages.ent | 8 +++--- 3 files changed, 14 insertions(+), 77 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index e3e4dabab..0ebc9e2cd 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -43,6 +43,13 @@ man page symlink in all available languages. Closes ticket #1811. Thanks to Alexander Patrakov. + + [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. + diff --git a/chapter06/udev.xml b/chapter06/udev.xml index a7ad15fb4..a78e8c774 100644 --- a/chapter06/udev.xml +++ b/chapter06/udev.xml @@ -94,87 +94,17 @@ ln -sv /proc/kcore /lib/udev/devices/core - Udev's configuration is far from ideal by default, so install - the configuration files here: + 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: - cp -v &udev-config;/[0-9]* /etc/udev/rules.d/ - Now install a helper script that is not included in the main Udev - tarball: - -install -v -m 744 &udev-config;/write_cd_aliases /lib/udev/ - Install the documentation that explains how to create Udev rules: install -m644 -D -v docs/writing_udev_rules/index.html \ /usr/share/doc/udev-&udev-version;/index.html - - - 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 - udevd to process all of the replayed events and - consequently the devices for those missed events are not created before the - script exits. Since udevd 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. - - First, create a simple C file: - -cat > bug.c << EOF -/* Simple event recorder */ -#define _GNU_SOURCE -#include <sys/types.h> -#include <sys/stat.h> -#include <fcntl.h> -#include <unistd.h> -#include <stdlib.h> -#include <argz.h> -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 && strstr(envar, "usb")) - return 0; - envar = getenv("DEVPATH"); - if (envar && strstr(envar, "usb")) - return 0; - - setenv("_SEPARATOR", "-------------------------------", 1); - argz_create(environ, &envz, &len); - argz_stringify(envz, len, '\n'); - envz[len-1]='\n'; - write(bug, envz, len); - close(bug); - free(envz); - return 0; -} -EOF - - Now compile it: - -gcc -o /lib/udev/bug bug.c - - When booting the new LFS system, if any events are missed, a warning - message will appear and a /dev/bugreport file will be - created. The warning message will tell you where to send feedback. - - - diff --git a/packages.ent b/packages.ent index 1306e114c..f9259c71d 100644 --- a/packages.ent +++ b/packages.ent @@ -482,18 +482,18 @@ - + - + - + - + -- cgit v1.2.3-54-g00ecf