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