Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

6 réponses
Avatar
SuperDindon
Salu,

je r=E9p=E8te la question pour les mal-entendants : comment savoir si un dr=
iver=20
est compil=E9 en dur ou en module? En fait je bosse actuellement sur un=20
paquetage, et ja ibesoin de savoir si un driver ( ehci_hcd pour =EAtre=20
pr=E9cis ), est compil=E9 en dur, en module ou pas du tout. Je comptais uti=
liser=20
le fichier de config du noyau, mais est-ce un moyen infaillible?

6 réponses

Avatar
Basile STARYNKEVITCH
Le Thu, Dec 16, 2004 at 05:14:51PM +0400, SuperDindon écrivait/wrote:
Salu,

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?



Probablement pas, mais c'est le plus pratique.

Une possibilité sur les noyaux 2.6, est d'utiliser le fichier
/proc/config.gz s'il existe:

if [ -f /proc/config.gz ]; then
zgrep EHCI /proc/config.gz
### etc
fi

Sinon, il est possible que l'EHCI soit lié à l'USB
grep -i ehci /proc/bus/usb/devices

Mais je n'en connais pas plus. Peut-être que le module hotplug (que je
connais très mal) pourrait être utile?

--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net
aliases: basile<at>tunes<dot>org = bstarynk<at>nerim<dot>net
8, rue de la Faïencerie, 92340 Bourg La Reine, France


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
justice8
Bonjour,

Basile STARYNKEVITCH wrote:

Le Thu, Dec 16, 2004 at 05:14:51PM +0400, SuperDindon écrivait/wrote:


Salu,

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?





Probablement pas, mais c'est le plus pratique.

Une possibilité sur les noyaux 2.6, est d'utiliser le fichier
/proc/config.gz s'il existe:

if [ -f /proc/config.gz ]; then
zgrep EHCI /proc/config.gz
### etc
fi





en 2.4 un grep avec la sortie de uname sur /boot/config-xxx (comme c'est
fait dans les patchs noyaux debian).

Sinon, il est possible que l'EHCI soit lié à l'USB
grep -i ehci /proc/bus/usb/devices





pas con, en effet voici un petit extrait :

cat /proc/bus/usb/devices
T: Bus Lev Prnt Port Cnt Dev#= 1 SpdH0 MxCh= 8
B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 2.00 Cls (hub ) Sub Prot MxPS= 8 #Cfgs= 1
P: Vendor00 ProdID00 Rev= 2.04

S: Manufacturer=Linux 2.4.27.test1 ehci_hcd

/
ici le nom du module (usb2)

S: Product=Intel Corp. 82801EB USB2


A+,

J8.

PS: et pour les mal voyants tu fait comment ? :P


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Jean-Luc Coulon (f5ibh)
--dc+cDN39EJAMEtIO
Content-Type: text/plain; charset=iso-8859-15
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Dec 16, 2004 at 02:49:26PM +0100, Basile STARYNKEVITCH wrote:
Le Thu, Dec 16, 2004 at 05:14:51PM +0400, SuperDindon écrivait/wrote:
> Salu,
>
> je répète la question pour les mal-entendants : comment savoir si u n 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?

Probablement pas, mais c'est le plus pratique.

Une possibilité sur les noyaux 2.6, est d'utiliser le fichier
/proc/config.gz s'il existe:

if [ -f /proc/config.gz ]; then
zgrep EHCI /proc/config.gz
### etc
fi

Sinon, il est possible que l'EHCI soit lié à l'USB
grep -i ehci /proc/bus/usb/devices

Mais je n'en connais pas plus. Peut-être que le module hotplug (que je
connais très mal) pourrait être utile?



Le fichier /proc/config.gz est le plus *sûr* car c'est celui du noyau qui
tourne.
Sinon, dans /boot, vous trouverez les fichiers de configuraton de tous vos
noyaux, il faut juste s'assurer que la version qu'on utilise est la même que
celle du noyau.


--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/



Jean-Luc




--dc+cDN39EJAMEtIO
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)

iD8DBQFBwZZkUdGGXzzGnNARArlBAJ40LcYb48t96kmUEljtV3L9UQRt+QCeMlWC
LylaW88MyknV2CrPBkelAZk =Ld+6
-----END PGP SIGNATURE-----

--dc+cDN39EJAMEtIO--


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Jonathan ILIAS
SuperDindon a écrit :
je répète la question pour les mal-entendants : comment savoir si u n 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 commen t
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 pilo te
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
Avatar
SuperDindon
Le jeudi 16 Décembre 2004 17:49, Basile STARYNKEVITCH
 :
Le Thu, Dec 16, 2004 at 05:14:51PM +0400, SuperDindon écrivait/wrote:
> Salu,
>
> 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 êt re
> 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 infaillibl e?

Probablement pas, mais c'est le plus pratique.

Une possibilité sur les noyaux 2.6, est d'utiliser le fichier
/proc/config.gz s'il existe:

if [ -f /proc/config.gz ]; then
zgrep EHCI /proc/config.gz
### etc
fi

Sinon, il est possible que l'EHCI soit lié à l'USB
grep -i ehci /proc/bus/usb/devices

Mais je n'en connais pas plus. Peut-être que le module hotplug (que je
connais très mal) pourrait être utile?

--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net
aliases: basile<at>tunes<dot>org = bstarynk<at>nerim<dot>net
8, rue de la Faïencerie, 92340 Bourg La Reine, France



aye en fait c que jessaye de faire qque chose qui fonctionne au moins sur t ous
les noyaux 2.6 et 2.4. Vu qu'en plus la plupart de ceux qui recompilent le
noyau désactive l'option ( pour config.gz ), ça va être assez délic at. Menfin
je vais qd même lajouter ds le cas où le fichier de config de /boot a été
viré par un inconscient. Par contre il existe vraiment pas d'autre moyen? Je
pense aux noyaux 2.4 qui ne supportent pas /proc, comment on faisait pour
savoir si tel ou tel driver était compilé en dur?
Avatar
SuperDindon
Le jeudi 16 Décembre 2004 18:19, Jonathan ILIAS  :
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 êt re
> 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 infaillibl e?

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 pilo te
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.



Ok merci à tous je vais déjà essayé ce qui a été proposé, mai s si qqun a une
idée sans faille pour les 2.4, il est la bienvenue