Bloc-note 'udev'
Le 8 novembre 2007, à 9:19 par Ulhume...

Bloc-Note UDEV

Création d'une règle udev

Pour cela nous allons utiliser udev. Cette couche logiciel joue le rôle d'interface entre le kernel et le reste de l'OS. C'est lui qui va créer les noms de device lorsque le kernel les a détecté. Dans notre cas, nous cherchons à détecter l'atterrissage d'un disque dur externe connecté via l'usb. Pour l'instant, disons que le disque est connecté et que son device "aléatoire" est /dev/sdb. La première chose à faire est de sortir des informations sur ce device via un utilitaire du paquet udev, udevinfo:

  1. udevinfo -a -p $(udevinfo -q path -n /dev/sda)
  2.  # (...)
  3.  # ATTRS{idProduct}=="6830"
  4.  # ATTRS{idVendor}=="04b4"
  5. # (...)

Deuxième étape, créer ou modifier le fichier des règles locales d'udev /etc/udev/rules.d/10-local.rules, pour y poser le ligne suivante :

BUS=="usb", KERNEL=="sd?1", SYSFS{idVendor}=="04b4", SYSFS{idProduct}=="6830", NAME="%k", SYMLINK+="usbbackup"

Cette ligne indique à udev que lorsqu'il reçoit un message d'arrivée pour un device que le kernel désire nommer "sdX1", que ce device a le product ID et vendor ID qui nous intéresse, garder le nom d'origine (NAME="%k") mais ajouter un lien symbolique ver usbbackup. C'est tout simple et cela marche à chaud, débranchez votre disque, re-branchez le et le lien doit apparaître sans autre problème.... Et voilà Smiling

Alors à partir de là, on peut pousser tout cela un peu plus loin, par exemple en renommant "physiquement" un device. Dans la "rule" précédente, le choix était fait de conserver le nom d'origine (NAME="%k") et de faire un lien symbolique (SYMLINK+="usbbackup"). Il est donc possible de directement renommer la partition en usbbackup via la règle :

BUS=="usb", KERNEL=="sd?1", SYSFS{idVendor}=="04b4", SYSFS{idProduct}=="6830", NAME="usb-backup"

et même, si l'on a plusieurs partition renommer en conservant la numérotation (noter l'apparition du double ? et du %n pour le numéro de la partition) :

BUS=="usb", KERNEL=="sd??", SYSFS{idVendor}=="04b4", SYSFS{idProduct}=="6830", NAME="usb-backup-%n"

Commentaires

Dab, le 8 November, 2007 - 10:26

udev m'a posé de gros pb avec les dernières version d'Ubuntu/Debian, la carte réseau est renommée à chaque redémarrage ...
eth1 puis eth2, eth3 .... donc reparamétrage à chaque fois Frown J'ai aussi du bidouiller ces fameuses règles udev.

Ulhume, le 8 November, 2007 - 10:34

C'est zarb ça, ça doit être une différence entre distrib car sur le driva, les cartes réseaux (j'ai mis un temps de dingue à le comprendre) sont aliasées via /etc/modprobe.conf sur le nom du driver lui-même (genre alias driver ethX ou l'inverse,je sais plus).

Poster un nouveau commentaire

Le contenu de ce champ est gardé secret et ne sera pas montré publiquement.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • To highlight piece of code, just surround them with <code type="language"> Your code &tl;/code>>. Language can be java,c++,bash,etc... Everything Geshi support.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • Textual smileys will be replaced with graphical ones.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.

Plus d'informations sur les options de formatage

Connexion utilisateur
Sommaire
Commentaires récents