6.60. Udev-208 (Extrait de systemd-208)

Le paquet Udev contient des programmes pour création dynamique de nœuds de périphériques. Le développement d'udev a été synchronisé avec systemd, mais la plupart de systemd est incompatible avec LFS. Nous ne construisons et n'installons ici que les fichiers d'udev nécessaires.

Temps de construction approximatif: 0.1 SBU
Espace disque requis: 29 Mo

6.60.1. Installation d'Udev

[Note]

Note

Ce paquet est un peu différent d'autres paquets. Le paquet de départ extrait est systemd-208.tar.xz même si l'application qu'on installe s'appelle udev. Après être allé dans le répertoire systemd, suivez les instructions ci-dessous.

L'archive tar udev-lfs contient les fichiers spécifiques à LFS utilisés pour construire Udev. Déballez-la dans le répertoire des sources de Systemd :

tar -xvf ../udev-lfs-208-3.tar.bz2

Créez deux liens symboliques vers les fichiers d'en-tête et définissez une variable d'environnement pour bien utiliser Section 5.33, « Util-linux-2.24.1 ».

ln -svf /tools/include/blkid /usr/include
ln -svf /tools/include/uuid  /usr/include
export LD_LIBRARY_PATH=/tools/lib

Construisez le paquet :

make -f udev-lfs-208-3/Makefile.lfs
[Attention]

Attention

Il existe plusieurs endroits dans le code source de systemd où les chemins des répertoires embarqués sont explicites. Par exemple, la version binaire du chemin de la base de données matériel et le nom de fichier utilisé au moment de l'exécution /etc/udev/hwdb.bin, ne peuvent pas être modifiés sans changements explicites dans le code source.

Maintenant, initialisez la base de données du matériel :

build/udevadm hwdb --update

Enfin, définissez les règles udev du réseau permanent. Cette tâche sera expliquée en détails à la Section 7.2.1, « Création de noms stables pour les interfaces réseaux ». Remarquez que les systèmes de fichiers /sys et /proc doivent être montés dans l'environnement chroot comme expliqué au début de ce chapitre pour que le script suivant fonctionne.

bash udev-lfs-208-1/init-net-rules.sh

Faites un peu de ménage :

rm -fv /usr/include/{uuid,blkid}
unset LD_LIBRARY_PATH

6.60.2. Contenu d'Udev

Programmes installés: accelerometer, ata_id, cdrom_id, collect, mtd_probe, scsi_id, v4l_id, udevadm et udevd
Bibliothèques installées: libudev.so
Répertoires installés: /etc/udev, /lib/udev, /lib/firmware, /usr/share/doc/udev

Descriptions courtes

ata_id

Fournit Udev avec une chaîne unique et des informations supplémentaires (uuid, label) pour un lecteur ATA

cdrom_id

Fournit Udev avec les possibilités d'un lecteur de CD-ROM ou de DVD-ROM

collect

À partir d'un ID de l'uevent actuel et une liste d'IDs (pour tous les uevents cibles), enregistre l'ID actuel et indique si tous les IDs cibles ont été enregistrés

scsi_id

Fournit Udev avec un identifieur unique de SCSI basé sur les données retournées par l'envoi d'une commande SCSI INQUIRY pour le périphérique spécifié

udevadm

Outil d'administration générique d'udev : il contrôle le démon udevd, fournit des informations à partir d'une base de données Udev, surveille les uevents, attend la fin d'uevents, teste la la configuration d'Udev et récupère les uevents pour un périphérique donné

udevd

Un démon qui écoute les uevents sur le socket netlink, crée des périphériques et lance les programmes externes configurés en réponse à ces uevents

libudev

Une interface bibliothèque avec les informations de périphérique d'udev

/etc/udev

Contient les fichiers de configuration d'Udev, les droits des périphériques et les règles de périphériques, et les règles pour le nommage des périphériques