[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Comment savoir si un driver est compilé en dur ou en module?



SuperDindon a écrit :
je répète la question pour les mal-entendants : comment savoir si un driver est compilé en dur ou en module? En fait je bosse actuellement sur un paquetage, et ja ibesoin de savoir si un driver ( ehci_hcd pour être précis ), est compilé en dur, en module ou pas du tout. Je comptais utiliser le fichier de config du noyau, mais est-ce un moyen infaillible?

Nécessairement, un module chargeable doit se trouver bien rangé dans /lib/modules/`uname -r`

avec un find et le nom du fichier correspondant au module (attention, il peut être différent du nom du pilote).

si le fichier correspondant au pilote s'y trouve, alors il y a de bonnes chances pour que le pilote soit compilé en tant que module (la seule exception que je vois, c'est quelqu'un qui a bidouillé n'importe comment dans les modules... peut-être un cas à prévoir tout de même).

Maintenant, le le module n'est pas présent, reste à savoir si le pilote est intégré au noyau ou pas présent du tout.

Pour ça, il devrait normalement laisser une trace dans un des fichiers /proc (au moins pour les pilotes de périphériques, pour les modules purs, je ne sais pas). Par exemple, tous les périphériques caractère ou bloc sont inscrits dans /proc/devices. D'autre part, je ne connais pas de périphérique qui n'utilise pas de plage d'entrées/sorties, auquel cas on doit retrouver ces informations dans /proc/ioports ou /proc/iomem.

Bref, pour ce deuxième test, pas mal d'indices peuvent être utilisés, je ne sais pas s'il existe un moyen plus direct (ormis, comme indiqué par Basile, le fichier /proc/config.gz dans le cas du 2.6).

Bon courage.
--
Jonathan ILIAS, vraisemblablement mal entendant



Reply to: