#### Linux From Scratch - Version 7.10

### Chapter 6. Installing Basic System Software

- Prev

  Sysvinit-2.88dsf

- Next

  Util-linux-2.28.1

- Up
- Home

# 6.65. Eudev-3.2

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

Approximate build time: 0.4 SBU
Required disk space: 77 MB

## 6.65.1. Installation of Eudev

First, fix a test script:

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

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

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-20140408.tar.bz2
    make -f udev-lfs-20140408/Makefile.lfs install

## 6.65.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:

    LD_LIBRARY_PATH=/tools/lib udevadm hwdb --update

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

## 6.65.3. Contents of Eudev

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

### 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

- Prev

  Sysvinit-2.88dsf

- Next

  Util-linux-2.28.1

- Up
- Home