eudevは、動的に生成されるデバイスファイルを管理するデーモンおよびコマンド群です。 udevd デーモン、udevadm コマンドなどが含まれます。
以前のLinux系OSでは、デバイスファイルはあらかじめ用意されていました。 OSのインストール時に、一般的なデバイス構成を想定したデバイスファイルが作成されるようになっていたのです。 用意されているデバイスファイルでは足りなくなった場合には、管理者が手作業で追加の作業を行っていました。
現在のLinux系OSでは、デバイスファイルはカーネルによって自動的に生成されるようになっています。 カーネルにより起動時にデバイスが検知され、対応するデバイスファイルが作られます。 もちろん、システム稼働中にUSB接続やPCカード接続の機器が挿し込まれたり、取り外されたことも検出されます。
udevd デーモンは、カーネルからの通知を受け取ることでデバイスの変化を知り、必要な処理を行います。
最初に、ビルド・インストール前リストを生成します。
/sources/genprevlist.sh > /dev/null 2>&1
ソースファイルを展開します。
cd /sources tar xvf eudev-2.1.1.tar.gz cd eudev-2.1.1
展開したソースファイルを修正します。
sed -i -e '/SUBSYSTEMS=="scsi", KERNEL=="sda"/s,/usr/bin/test,/bin/test,' test/udev-test.pl
configureを実行します。
BLKID_CFLAGS=-I/tools/include BLKID_LIBS='-L/tools/lib -lblkid' ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --sbindir=/sbin \ --bindir=/sbin \ --libdir=/usr/lib \ --libexecdir=/lib \ --enable-split-usr \ --enable-libkmod \ --enable-rule_generator \ --enable-keymap \ --disable-introspection \ --disable-gudev \ --disable-gtk-doc-html \ --with-rootprefix= \ --with-rootlibdir=/lib > ../../logs/configurelog.eudev 2>&1
configureが終了したら、ログファイルに出力された内容を参照し、正常に終了したことを確認します。
cat ../../logs/configurelog.eudev
テストを行います。
mkdir -vp /lib/udev/rules.d mkdir -vp /etc/udev/rules.d make check 2>&1 | tee ../../logs/checklog.eudev
テストが終了したら、ログファイルに出力された内容を参照し、正常に終了したことを確認します。
grep '^#.*:' ../../logs/checklog.eudev
なお、筆者の環境(仮想マシン)では以下のように1件のエラーが発生します。
# TOTAL: 2 # PASS: 1 # SKIP: 0 # XFAIL: 0 # FAIL: 1 # XPASS: 0 # ERROR: 0
ソースファイルに付属している文書のインストールを行います。
mkdir -vp /usr/share/doc/eudev-2.1.1 cp -va COPYING /usr/share/doc/eudev-2.1.1 cp -va README /usr/share/doc/eudev-2.1.1
最後に、インストールリストを生成します。
/sources/genpostlist.sh > /dev/null 2>&1 /sources/gendifflist.sh eudev