6.67. Eudev-3.1.2

Eudev パッケージはデバイスノードを動的に生成するプログラムを提供します。

概算ビルド時間: 0.3 SBU
必要ディスク容量: 82 MB

6.67.1. Eudev のインストール

はじめにテストスクリプトを修正します。

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

Eudev バイナリにライブラリのディレクトリがハードコーディングされないように処置します。

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

Eudev をコンパイルするための準備をします。

./configure --prefix=/usr           \
            --bindir=/sbin          \
            --sbindir=/sbin         \
            --libdir=/usr/lib       \
            --sysconfdir=/etc       \
            --libexecdir=/lib       \
            --with-rootprefix=      \
            --with-rootlibdir=/lib  \
            --enable-split-usr      \
            --enable-manpages       \
            --enable-hwdb           \
            --disable-introspection \
            --disable-gudev         \
            --disable-static        \
            --config-cache          \
            --disable-gtk-doc-html

パッケージをコンパイルします。

LIBRARY_PATH=/tools/lib make

テスト時に必要となるディレクトリを生成します。 その一部はインストールの際にも利用します。

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

コンパイル結果をテストするには以下を実行します。

make LD_LIBRARY_PATH=/tools/lib check

パッケージをインストールします。

make LD_LIBRARY_PATH=/tools/lib install

LFS 環境にて有用なカスタムルールやサポートファイルをインストールします。

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

6.67.2. Eudev の設定

ハードウェアデバイスに関する情報は、/etc/udev/hwdb.d ディレクトリおよび /usr/lib/udev/hwdb.d ディレクトリに収容されています。 Eudev はこの情報をとりまとめて、バイナリデータベース /etc/udev/hwdb.bin を作成しています。 このデータベース初期化は以下により実現します。

LD_LIBRARY_PATH=/tools/lib udevadm hwdb --update

このコマンドはハードウェア情報が更新された際には必ず実行してください。

6.67.3. Eudev の構成

インストールプログラム: udevadm, udevd
インストールライブラリ: libudev.so
インストールディレクトリ: /etc/udev, /lib/udev, /lib/firmware

概略説明

udevadm

汎用的な udev 管理ツール。 udevd デーモンの制御、Udev データベースからの情報提供、uevent 監視、uevent 完了待機、Udev 設定のテスト、指定デバイスへの uevent 起動などを行います。

udevd

ネットリンクソケット上の udevent を検出するデーモンであり、デバイスを生成しそのイベントに応じた外部プログラムを実行します。

libudev

udev デバイス情報へのインターフェースライブラリ。

/etc/udev

Udev の設定ファイル、デバイスのパーミッション、デバイス名に対するルールを設定します。