En gros, chaque module indique quels périphériques il peut supporter. Les identifiants des périphériques supportés par un module permettent de construire un ou plusieurs « alias » pour ce module. depmod compile une liste de correspondance « alias de périphérique ⇔ module » (dans /lib/modules/VERSION/modules.alias).
Quand le noyau détecte un périphérique, il construit un alias à partir de identifiants de ce périphérique et l’envoie à udev ; udev appelle modprobe avec l’alias spécifié et modprobe retrouve, gràce à la liste préalablement compilée par depmod, le module à charger.
pourquoi j'ai le package discover installé sur Debian Squeeze si elle utilise udev ?
Je serais bien incapable de dire pourquoi Debian fait tout ce qu’elle fait (je n’ai toujours pas compris pourquoi elle s’est immiscée dans le fonctionnement d’un générateur de nombres aléatoires, par exemple1), mais la documentation de discover peut apporter un éclairage :
We must take a moment to explain what Discover is not: Discover is not a
replacement for the service - usually provided by the underlying operating
system kernel or a user-space program that interfaces with it - of simply
translating bus-specific vendor and model identifiers to human-readable
names. Discover performs its own translations of this data as a
convenience for generating human-readable reports, but it does not attempt
to enumerate all hardware devices that exist for a particular bus
architecture. Rather, Discover is intended only to catalog data for which
there is some useful information to impart regarding software interfaces.
Facilities already exist in modern operating systems for answering the
questions "What is the name of this device?" and "Who manufactured it?"
Discover's role is to answer questions like "What Linux kernel module do I
need to load for this device to work?" More importantly, Discover will
enable you to provide answers in the future to questions you don't even
expect to ask today.
En gros, discover n’est pas une alternative à udev, même s’il peut faire une partie de son travail. discover est par ailleurs censé être portable (et non spécifique au noyau Linux), ce qui j’imagine doit être intéressant pour Debian et ses versions Hurd ou kFreeBSD.
1 Je sais, c’est mesquin de ressortir les vieux dossiers... ;)
# MODALIAS
Posté par gouttegd . En réponse au message Détection matériel sous Debian, discover obsolète ? comment udev fait la rel périphérique / module ?. Évalué à 2.
Une explication est disponible dans la documentation d’OpenSUSE.
En gros, chaque module indique quels périphériques il peut supporter. Les identifiants des périphériques supportés par un module permettent de construire un ou plusieurs « alias » pour ce module.
depmodcompile une liste de correspondance « alias de périphérique ⇔ module » (dans/lib/modules/VERSION/modules.alias).Quand le noyau détecte un périphérique, il construit un alias à partir de identifiants de ce périphérique et l’envoie à
udev;udevappellemodprobeavec l’alias spécifié etmodproberetrouve, gràce à la liste préalablement compilée pardepmod, le module à charger.Je serais bien incapable de dire pourquoi Debian fait tout ce qu’elle fait (je n’ai toujours pas compris pourquoi elle s’est immiscée dans le fonctionnement d’un générateur de nombres aléatoires, par exemple1), mais la documentation de
discoverpeut apporter un éclairage :En gros,
discovern’est pas une alternative àudev, même s’il peut faire une partie de son travail.discoverest par ailleurs censé être portable (et non spécifique au noyau Linux), ce qui j’imagine doit être intéressant pour Debian et ses versions Hurd ou kFreeBSD.1 Je sais, c’est mesquin de ressortir les vieux dossiers... ;)