[Linux-bruxelles] Relation entre udev et hotplug

Jérôme Warnier jwarnier at beeznest.net
Mer 15 Fév 12:29:43 CET 2006


Le mercredi 15 février 2006 à 12:23 +0100, Jérôme Warnier a écrit :
> Le mercredi 15 février 2006 à 11:54 +0100, François Soumillion a écrit :
> > 2006/2/15, Jérôme Warnier <jwarnier at beeznest.net>:
> > > Le mercredi 15 février 2006 à 11:17 +0100, François Soumillion a écrit :
> > > > Bonjour,
> > > >
> > > > J'ai une petite question à vous soumettre. J'ai fait pas mal de
> > > > recherches mais jusqu'à présent, je n'ai pas trouvé de réponse.
> > > > Voici ma compréhension des choses, corrigez moi si je me trompe.
> > > > udev est donc un successeur de devfs qui permet de créer la hiérarchie
> > > > des devices présents dans le pseudo file system /dev.
> > > > udev utilise les évenements envoyés par le kernel et crée l'entrée ad
> > > > hoc dans /dev.
> > > > Il y a déjà quelque temps, lors du passage à udev, le package hotplug
> > > > a été enlevé.
> > > > J'avais lu par ailleurs que l'on trouvait dans
> > > > /proc/sys/kernel/hotplug la commande qui était exécuté lorsqu'un
> > > > nouveau device était connecté. Dans la plupart des distribs, on y
> > > > trouve /sbin/hotplug. Chez moi, ce fichier est vide.
> > > Chez moi (sur une Debian Etch à jour, kernel 2.6.15 et udev 0.084-3), il
> > > contient "/sbin/udevsend". Pas chez toi?
> > Non, c'est vide (Etch 2.6.15.4, udev 0.084-3).  Ceci dit, tout
> > fonctionne bien , c'est juste que j'aimerais comprendre comment.  Je
> > peux donc considérer udevsend comme un "remplacement" de hotplug ?
> Non, pour être précis, il remplace seulement une partie des
> fonctionnalités de hotplug, le reste des fonctionnalités ayant été
> intégrées dans le kernel ou dans udev lui-même.
> Cela dit, c'est possible que /sbin/udevsend soit le défaut, et que c'est
> donc pour cela que ça n'est pas dans /proc/sys/kernel/hotplug, mais je
> n'en suis pas certain.
J'ai la réponse. Voici la partie de /etc/init.d/udev qui fait cela:
set_hotplug_handler() {
  case "$(uname -r)" in
    2.6.1[0-4]|2.6.1[0-4][!0-9]*) HANDLER='/sbin/udevsend' ;;
  esac
  echo $HANDLER > /proc/sys/kernel/hotplug
}

Comme tu peux le voir, ça ne fait rien si le kernel > 2.6.14.
Moi, sur la machine où j'ai regardé, je n'utilise pas sysvinit, mais
initng, et le script de chargement d'udev n'est pas aussi malin.
Je ne sais pas néanmoins si c'est important de ne pas
remplir /proc/sys/kernel/hotplug. Je vais soumettre un bug report.

> > > > D'où ma question, comment est géré le hotplug sous ma debian ?
> > > > Ca fonctionne très bien mais j'aimerais comprendre comment.
> > >
> > > D'après ce que j'ai compris, depuis les dernières versions du kernel et
> > > de udev, ces deux-ci sont capables de faire le travail anciennement fait
> > > par hotplug.
> > > Ça n'avait pas de sens de conserver une fonctionnalité comme cela
> > > en-dehors de code qui tournait déjà et qui devait déjà savoir quand on
> > > ajoutait du hardware à la machine. C'est tout.
> > > Si les autres distributions dont tu parles ne le font pas comme cela,
> > > c'est qu'elles ne le font pas encore, pas qu'elles font différemment.
> > >
> > > > Merci d'avance pour vos lumières.
> > > >
> > > > François
> > Merci
> 
> 





Plus d'informations sur la liste de diffusion Linux-bruxelles