Eudev パッケージはデバイスノードを動的に生成するプログラムを提供します。
はじめにテストスクリプトを修正します。
sed -r -i 's|/usr(/bin/test)|\1|' test/udev-test.pl
そしてビルド失敗の原因となる不要な行を削除します。
sed -i '/keyboard_lookup_key/d' src/udev/udev-builtin-keyboard.c
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-manpages \ --disable-static \ --config-cache
パッケージをコンパイルします。
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
ハードウェアデバイスに関する情報は、/etc/udev/hwdb.d
ディレクトリおよび /usr/lib/udev/hwdb.d
ディレクトリに収容されています。 Eudev
はこの情報をとりまとめて、バイナリデータベース /etc/udev/hwdb.bin
を作成しています。
このデータベース初期化は以下により実現します。
LD_LIBRARY_PATH=/tools/lib udevadm hwdb --update
このコマンドはハードウェア情報が更新された際には必ず実行してください。