6.77.1. Installation d'Eudev
Ensuite, ajoutez un contournement pour empêcher le répertoire
/tools de se coder en dur dans les emplacements des bibliothèques
mentionnés dans les fichiers binaires d'Eudev :
cat > config.cache << "EOF"
HAVE_BLKID=1
BLKID_LIBS="-lblkid"
BLKID_CFLAGS="-I/tools/include"
EOF
Préparez la compilation d'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
Compilez le paquet :
LIBRARY_PATH=/tools/lib make
Note
Les variables LIBRARY_PATH ici et LD_LIBRARY_PATH ci-dessous sont
requises pour permettre l'utilisation des bibliothèques
installées dans /tools mais pas encore dans le système principal.
LIBRARY_PATH permet de trouver les bibliothèques pendant la phase
d'édition de liens. LD_LIBRARY_PATH permet de trouver les
bibliothèques à l'exécution du programme.
Créez des répertoires nécessaires pour les tests, mais qui feront
aussi partie de l'installation :
mkdir -pv /lib/udev/rules.d
mkdir -pv /etc/udev/rules.d
Pour tester les résultats, lancez :
make LD_LIBRARY_PATH=/tools/lib check
Installez le paquet :
make LD_LIBRARY_PATH=/tools/lib install
Installez quelques règles personnalisées et des fichiers support
utiles dans un environnement LFS :
tar -xvf ../udev-lfs-20171102.tar.bz2
make -f udev-lfs-20171102/Makefile.lfs install
6.77.2. Configurer Eudev
Les informations sur les périphériques sont stockées dans les
répertoires /etc/udev/hwdb.d
et
/lib/udev/hwdb.d
. Eudev a besoin de compiler ces informations
dans une base de données binaire /etc/udev/hwdb.bin
. Créez la base de données
initiale :
LD_LIBRARY_PATH=/tools/lib udevadm hwdb --update
Il faut lancer cette commande à chaque fois que vous mettez à jour
les informations sur le matériel.