7.8. Eudev-1.7

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

7.8.1. Installation of Eudev

Prepare Eudev for compilation:

./configure \
    --prefix=/tools \
    --build=${CLFS_HOST} \
    --host=${CLFS_TARGET} \
    --disable-introspection \
    --disable-gtk-doc-html \
    --disable-gudev \
    --disable-keymap \
    --with-firmware-path=/tools/lib/firmware \
    --enable-libkmod

The meaning of the new configure options:

--disable-introspection --disable-gtk-doc-html --disable-gudev --disable-keymap

These switches disable several features which are not needed for the temporary system and have additional dependencies.

--with-firmware-path=/tools/lib/firmware

This allows Eudev to load firmware from /tools/lib/firmware instead of the default location of /lib/firmware.

--enable-libkmod

Allows Eudev to load modules by using libkmod directly.

Compile the package:

make

Install the package:

make install

Create a directory for storing firmware that can be loaded by udev:

install -dv /tools/lib/firmware

Create a dummy rule so that Eudev will name ethernet devices properly for the system.

echo "# dummy, so that network is once again on eth*" > \
    /tools/etc/udev/rules.d/80-net-name-slot.rules

7.8.2. Contents of Eudev

Installed programs: ata_id, cdrom_id, collect, create_floppy_devices, edd_id, firmware.sh, fstab_import, path_id, scsi_id, udevadm, udevd, usb_id, v4l_id, write_cd_rules, write_net_rules
Installed library: libudev
Installed directories: /tools/etc/udev, /tools/lib/firmware, /tools/lib/udev

Short Descriptions

udevadm

Controls the runtime behavior of Eudev, requests kernel events, manages the event queue, and provides simple debugging.

udevd

A daemon that reorders hotplug events before submitting them to udev, thus avoiding various race conditions

ata_id

Provides Eudev with a unique string and additional information (uuid, label) for an ATA drive

cdrom_id

Prints the capabilities of a CDROM or DVDROM drive.

collect

Given an ID for the current uevent and a list of IDs (for all target uevents), registers the current ID and indicates whether all target IDs have been registered.

create_floppy_devices

Creates all possible floppy devices based on the CMOS type

edd_id

Identifies x86 disk drives from Enhanced Disk Drive calls

firmware.sh

Script to load firmware for a device

fstab_import

Finds an entry in /etc/fstab that matches the current device, and provides its information to Udev.

path_id

Provides the shortest possible unique hardware path to a device

scsi_id

Retrieves or generates a unique SCSI identifier.

usb_id

Identifies a USB block device.

v4l_id

Determines V4L capabilities for a given device.

write_cd_rules

A script which generates Eudev rules to provide stable names for network interfaces.

write_net_rules

A script which generates Eudev rules to provide stable names for network interfaces.

libudev

A library interface to eudev device information.

/etc/udev

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

/lib/udev

Contains udev helper programs and static devices which get copied to /dev when booted.