Guide udev pour Gentoo
1.
Qu'est udev ?
Le répertoire /dev
Les personnes qui ne connaissent pas du tout Linux seraient certainement
étonnées d'entendre des Linuxiens dire « slash dev slash bidule »
pour désigner un périphérique. Par contre, pour des Linuxiens comme nous,
/dev/sda1 représente simplement la première partition du disque
maître connecté sur l'interface SATA primaire.
Nous savons ce qu'est un fichier de périphérique, certains savent même que les
fichiers de périphériques ont des numéros que l'on peut voir en faisant ls
-l dans /dev. Cependant, nous considérons que
/dev/sda correspondra toujours au premier disque SATA. Cela vous
étonnera sans doute, mais c'est une erreur de conception.
Pensez aux périphériques qui peuvent être connectés à chaud (c-à-d. quand la
machine est déjà allumée) comme les périphériques USB, IEEE1394 (Firewire) ou
certaines cartes PCI. Quel est le premier périphérique dans ce cas ? Les
autres périphériques doivent-ils être renommés quand un périphérique est
déconnecté ? Quel sera l'impact sur les processus en cours ?
Imaginez que votre document envoyé à votre nouvelle imprimante laser arrive sur
votre vieille imprimante matricielle parce votre mère a débranché votre imprimante laser pour brancher son aspirateur !
Voilà pourquoi udev a été créé. Les objectifs du projet udev sont
intéressants et surtout nécessaires :
-
Il doit tourner dans l'espace utilisateur (c-à-d. pas dans le noyau).
-
Les fichiers de périphériques doivent être ajoutés et enlevés
dynamiquement.
- Les règles de nommage doivent être cohérentes.
-
Une interface de programmation (une « API ») doit exister.
À chaque fois qu'un changement survient dans la structure des périphériques, le noyau émet un événement
uevent qui est capté par udev. udev suit alors les règles qui sont déclarées dans les répertoires /etc/udev/rules.d, /run/udev/rules.d
et /lib/udev/rules.d. Tenant compte des informations contenues dans l'uevent, il trouve la (les) règle(s) dont il a besoin pour déclencher et exécuter les actions requises. Ces actions peuvent être la création ou l'effacement d'un fichier de périphérique, mais peuvent aussi provoquer le chargement d'un microcode particulier dans l'espace noyau.
2.
Utiliser udev avec Gentoo
Prérequis
udev est prévu pour être utilisé en combinaison avec un noyau 3.x (tel que celui des
gentoo-sources avec le profil 13.0 par défaut). Si vous utilisez un tel noyau vous ne devriez rencontrer aucun problème avec udev étant donné que la prise en charge en dur est assurée dans toutes les versions stables de sys-apps/baselayout (l'ensemble des fichiers de base nécessaires au bon fonctionnement de tout système). Normalement udev devrait déjà être installé sur votre système. Si ce n'est pas le cas, l'installation est très simple.
Exemple de code 2.1 : installer udev |
# emerge udev
|
À propos du noyau, veuillez vérifier que les options suivantes ont été
sélectionnées :
Exemple de code 2.2 : options du noyau nécessaires |
General Setup --->
[ ] Enable deprecated sysfs features to support old userspace tools
File Systems --->
[*] Inotify support for userspace
Pseudo filesystems --->
[*] Virtual memory file system support (former shm fs)
Device Drivers --->
< > ATA/ATAPI/MFM/RLL support (DEPRECATED)
Generic Driver Options --->
[*] Maintain a devtmpfs filesystem to mount at /dev (NEW)
|
Si vous utilisez sys-kernel/genkernel, vous n'avez besoin de rien faire de spécial.
Genkernel paramètre udev par défaut. Vous pouvez également essayer sys-kernel/dracut qui est très bien intégré dans Gentoo.
3.
Ressources & remerciements
La documentation pour l'utilisation du nommage prédictible des interfaces réseau introduit en version 197 de udev, remplace le générateur de règles /etc/udev/rules.d/70-persistent-net.rules désormais supprimé.
Une dérivation de l'arbre git sans
systemd lui-même à github, qui a les mêmes visées que les API stables à long terme, plus POSIX
que GNU, plutôt conçu pour les inclusions minimales mais qui marche aussi sur n'importe quoi d'autre. Vous pouvez voir s'il est à jour en regardant dans l'historique du dossier, ce document pouvant ne pas être à jour.
4.
Problèmes connus
Des règles périmées du type 70-persistent-net.rules (ou tout autre règles réseau) dans
/etc/udev/rules.d peuvent empêcher le nommage réseau prédictible d'être activé. 70-persistent-net.rules et
70-persistent-cd.rules sont toutes les deux issues du désormais supprimé générateur de règles.
Un script d'initialisation appelé 'udev-postmount' devrait être retiré des niveaux de démarrage s'il y est encore.
Ce document est protégé par la licence Creative
Commons : Paternité - Partage des Conditions Initiales à
l'Identique 2.5.
|