6.72. Eudev-3.2.5

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

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

6.72.1. Installation of Eudev

Next, add a workaround to prevent the /tools directory from being hard coded into Eudev binary files library locations:

cat > config.cache << "EOF"
HAVE_BLKID=1
BLKID_LIBS="-lblkid"
BLKID_CFLAGS="-I/tools/include"
EOF

Prepare Eudev for compilation:

./configure --prefix=/usr           \
            --bindir=/sbin          \
            --sbindir=/sbin         \
            --libdir=/usr/lib       \
            --sysconfdir=/etc       \
            --libexecdir=/lib       \
            --with-rootprefix=      \
            --with-rootlibdir=/lib  \
            --enable-manpages       \
            --disable-static        \
            --config-cache

Compile the package:

LIBRARY_PATH=/tools/lib make
[Note]

Note

The LIBRARY_PATH variable here and the LD_LIBRARY_PATH variable below are needed to allow the use of libraries that were installed in /tools, but have not yet been installed in the main system. LIBRARY_PATH is used to find libraries during the linking process. LD_LIBRARY_PATH is used to find libraries during program execution.

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 LD_LIBRARY_PATH=/tools/lib check

Install the package:

make LD_LIBRARY_PATH=/tools/lib install

Install some custom rules and support files useful in an LFS environment:

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

6.72.2. Configuring Eudev

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

LD_LIBRARY_PATH=/tools/lib udevadm hwdb --update

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

6.72.3. Contents of Eudev

Installed programs: udevadm and udevd
Installed libraries: libudev.so
Installed directories: /etc/udev, /lib/udev, and /usr/share/doc/udev-udev-lfs-20171102

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