6.67. Eudev-2.1.1

The Eudev package contains programs for dynamic creation of device nodes.

Approximate build time: 0.2 SBU
Required disk space: 95 MB

6.67.1. Installation of Eudev

First, fix a test script:

sed -r -i 's|/usr(/bin/test)|\1|' test/udev-test.pl

Prepare Eudev for compilation:

BLKID_CFLAGS=-I/tools/include       \
BLKID_LIBS='-L/tools/lib -lblkid'   \
./configure --prefix=/usr           \
            --bindir=/sbin          \
            --sbindir=/sbin         \
            --libdir=/usr/lib       \
            --sysconfdir=/etc       \
            --libexecdir=/lib       \
            --with-rootprefix=      \
            --with-rootlibdir=/lib  \
            --enable-split-usr      \
            --enable-libkmod        \
            --enable-rule_generator \
            --enable-keymap         \
            --disable-introspection \
            --disable-gudev         \
            --disable-gtk-doc-html

Compile the package:

make

Create some directories now that are needed for tests, but will also be used as a part of installation:

mkdir -pv /lib/udev/rules.d
mkdir -pv /etc/udev/rules.d

To test the results, issue:

make check

Install the package:

make install

Now, install the man pages:

tar -xvf ../eudev-2.1.1-manpages.tar.bz2 -C /usr/share

Finally, install some custom rules and support files useful in an LFS environment:

tar -xvf ../udev-lfs-20140408.tar.bz2
make -f udev-lfs-20140408/Makefile.lfs install

6.67.2. Configuring Eudev

Information about hardware devices is maintained in the /etc/udev/hwdb.d and /usr/lib/udev/hwdb.d directories. Eudev needs that information to be compiled into a binary database /etc/udev/hwdb.bin. Create the initial database:

udevadm hwdb --update

This command needs to be run each time the hardware information is updated.

6.67.3. Contents of Eudev

Installed programs: udevadm and udevd
Installed libraries: libudev.so
Installed directories: /etc/udev, /lib/udev, and /lib/firmware

Short Descriptions

udevadm

Generic udev administration tool: controls the udevd daemon, provides info from the Udev database, monitors uevents, waits for uevents to finish, tests Udev configuration, and triggers uevents for a given device

udevd

A daemon that listens for uevents on the netlink socket, creates devices and runs the configured external programs in response to these uevents

libudev

A library interface to udev device information

/etc/udev

Contains Udev configuration files, device permissions, and rules for device naming