The Udev package contains programs for dynamic creation of device nodes.
The udev-config tarball contains LFS-specific files used to configure Udev. Unpack it into the Udev source directory:
tar -xvf ../udev-config-20061021.tar.bz2
Create some devices and directories that Udev cannot handle due to them being required very early in the boot process:
install -dv /lib/{firmware,udev/devices/{pts,shm}}
mknod -m0666 /lib/udev/devices/null c 1 3
ln -sv /proc/self/fd /lib/udev/devices/fd
ln -sv /proc/self/fd/0 /lib/udev/devices/stdin
ln -sv /proc/self/fd/1 /lib/udev/devices/stdout
ln -sv /proc/self/fd/2 /lib/udev/devices/stderr
ln -sv /proc/kcore /lib/udev/devices/coreCompile the package:
make EXTRAS="extras/ata_id extras/cdrom_id extras/edd_id \
extras/firmware extras/floppy extras/path_id extras/rule_generator \
extras/scsi_id extras/usb_id extras/volume_id"The meaning of the make option:
This builds several helper binaries that can aid in writing custom Udev rules.
To test the results, issue: make test.
Note that the Udev testsuite will produce numerous messages in the host system's logs. These are harmless and can be ignored.
Install the package:
make DESTDIR=/ \
EXTRAS="extras/ata_id extras/cdrom_id extras/edd_id \
extras/firmware extras/floppy extras/path_id extras/rule_generator \
extras/scsi_id extras/usb_id extras/volume_id" installThe meaning of the make parameter:
This prevents the Udev build process from killing any udevd processes that may be running on the host system.
Udev has to be configured in order to work properly, as it does not install any configuration files by default. First install the commonly-used rules files provided by Udev:
cp -v etc/udev/rules.d/[0-9]* /etc/udev/rules.d/
Now install the LFS-specific rules files:
cd udev-config-20061021 make install
Install the documentation that explains the LFS-specific rules files:
make install-doc
Install the documentation that explains the commonly-used rules files provided by Udev:
make install-extra-doc
Install the documentation that explains how to create custom Udev rules:
cd ..
install -m644 -D -v docs/writing_udev_rules/index.html \
/usr/share/doc/udev-104/index.html