Gentoo Logo

Guide udev pour Gentoo

Table des matières :

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 --->
  (Make sure the following item is *not* enabled)
  [ ] 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 --->
  (Make sure the following item is *not* enabled)
  < > ATA/ATAPI/MFM/RLL support (DEPRECATED)
  (This is *absolutely* necessary for /dev to populate)
  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.



Imprimer

Dernière mise à jour le 6 avril 2013

La version originale de cette traduction n'est plus maintenue

Résumé : Ce document explique ce qu'est udev et comment l'utiliser.

Sven Vermeulen
Auteur

Gregorio Guidi
Contributeur

Joshua Saddler
Correcteur

Xavier Neys
Traducteur

José Fournier
Traducteur

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.