Eudev パッケージはデバイスノードを動的に生成するプログラムを提供します。
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
ここにある LIBRARY_PATH 変数と以降に示す LD_LIBRARY_PATH 変数は、いずれも /tools にインストールされているライブラリを用いるために必要となります。 ただし構築システム内にはまだインストールしていません。 LIBRARY_PATH はリンク時にライブラリを探すために必要となります。 LD_LIBRARY_PATH は実行時にライブラリを探すために必要となります。
テスト時に必要となるディレクトリを生成します。 その一部はインストールの際にも利用します。
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-20171102.tar.bz2 make -f udev-lfs-20171102/Makefile.lfs install
ハードウェアデバイスに関する情報は、/etc/udev/hwdb.d
ディレクトリおよび /lib/udev/hwdb.d
ディレクトリに収容されています。 Eudev
はこの情報をとりまとめて、バイナリデータベース /etc/udev/hwdb.bin を作成しています。
このデータベース初期化は以下により実現します。
LD_LIBRARY_PATH=/tools/lib udevadm hwdb --update
このコマンドはハードウェア情報が更新された際には必ず実行してください。