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

Interet des modules

8 réponses
Avatar
Pascal
Je sais ce que sont les modules, auoi ils servent mais j'ai une petite
question:

Lorsque l'on compile son noyeau, avec les trucs juste necessaires pour les
peripheriques que l'on possede et les fonctionnalites que l'on souhaite
utiliser, est-ce qu'il vaut mieux compiler ces pilotes de peripheriques en
modules ou plutot directement dans le noyeau???

Je ne vis pas quel interet de compiler en modules sachant que ceux-ci
seront de toutes maniere chargés e permanence.

8 réponses

Avatar
Christophe Le Gal
In article , Pascal wrote:
Je sais ce que sont les modules, auoi ils servent mais j'ai une petite
question:

Lorsque l'on compile son noyeau, avec les trucs juste necessaires pour les
peripheriques que l'on possede et les fonctionnalites que l'on souhaite
utiliser, est-ce qu'il vaut mieux compiler ces pilotes de peripheriques en
modules ou plutot directement dans le noyeau???

Je ne vis pas quel interet de compiler en modules sachant que ceux-ci
seront de toutes maniere chargés e permanence.


Sauf si tu decides d'upgrader un modules, sans vouloir forcement
recompiler le noyau (ce qui implique de plus de rebooter la machine,
ce qui n'est pas le cas pour un remplacement de module).

Sauf si tu joue a modifier les sources d'un modules toi meme (ce qui
est un peu la meme chose que le cas precedent).

Sauf si tu veux jongler avec 2 drivers differents;

Quand un driver est plante (eg quand je ne comprends plus rien a ce qui
se passe avec ma carte bttv), je trouve aussi pratique de decharger
tous les modules concernant de pres ou de loin ma carte bttv, et
de recommencer. Quand on programme la carte c'est des chose qui
arrivent souvent.
Il y a sans doute une facon intelligente de faire sans avoir a
rebooter la machine meme quand le driver est integre dans le noyau. Mais
le fait d'avoir des modules me permet de ne pas etre intelligent.

--
Christophe Le Gal

Avatar
Portanoo
punaise je dois etre mauvais alors....
Tu veux dire que pour recompiler un module je ne suis pas obligé de me
retaper toute la procedure permettant de recompiler un kernel ?
si je change de module, il me faut bien "l'image" du kernel qui va bien
avec ou je me trompe ?


Christophe Le Gal wrote:

In article , Pascal wrote:
Je sais ce que sont les modules, auoi ils servent mais j'ai une petite
question:

Lorsque l'on compile son noyeau, avec les trucs juste necessaires pour
les peripheriques que l'on possede et les fonctionnalites que l'on
souhaite utiliser, est-ce qu'il vaut mieux compiler ces pilotes de
peripheriques en modules ou plutot directement dans le noyeau???

Je ne vis pas quel interet de compiler en modules sachant que ceux-ci
seront de toutes maniere chargés e permanence.


Sauf si tu decides d'upgrader un modules, sans vouloir forcement
recompiler le noyau (ce qui implique de plus de rebooter la machine,
ce qui n'est pas le cas pour un remplacement de module).

Sauf si tu joue a modifier les sources d'un modules toi meme (ce qui
est un peu la meme chose que le cas precedent).

Sauf si tu veux jongler avec 2 drivers differents;

Quand un driver est plante (eg quand je ne comprends plus rien a ce qui
se passe avec ma carte bttv), je trouve aussi pratique de decharger
tous les modules concernant de pres ou de loin ma carte bttv, et
de recommencer. Quand on programme la carte c'est des chose qui
arrivent souvent.
Il y a sans doute une facon intelligente de faire sans avoir a
rebooter la machine meme quand le driver est integre dans le noyau. Mais
le fait d'avoir des modules me permet de ne pas etre intelligent.



--
Ta mere elle se rase chez Black & Decker


Avatar
Herve
Portanoo wrote:

punaise je dois etre mauvais alors....
Tu veux dire que pour recompiler un module je ne suis pas obligé de me
retaper toute la procedure permettant de recompiler un kernel ?
si je change de module, il me faut bien "l'image" du kernel qui va bien
avec ou je me trompe ?


Non. Le meilleur exemple est le pilote nVidia: c'est un module auquel(*) le
kernel ne connaît rien. Tout ce qu'il faut, c'est :
- le support pour les modules dans le noyau
- qu'il n'y ait pas de conflit entre modules ou avec le noyau

(*) c'est français, ça ? Ça sonne pas bien...

Avatar
stephane
a dit:
punaise je dois etre mauvais alors....
Tu veux dire que pour recompiler un module je ne suis pas obligé de me
retaper toute la procedure permettant de recompiler un kernel ?
si je change de module, il me faut bien "l'image" du kernel qui va bien
avec ou je me trompe ?


Je ne comprend pas grand chose à ce que vous dites, mais moi quand j'ai
besoin d'un module, je fais ca en gros:

make menuconfig ; make modules ; cp /lib/modules/`uname -a`
/lib/modules/`uname -a`.OLD ; make modules_install ; depmod -ae

modprobe -l ; modprobe <module>

Si tu n'as plus ton kernel je ne vois pas comment tu peux faire pour
booter mais je n'ai pas compris de quoi tu parles je crois.

















Christophe Le Gal wrote:

In article , Pascal wrote:
Je sais ce que sont les modules, auoi ils servent mais j'ai une petite
question:

Lorsque l'on compile son noyeau, avec les trucs juste necessaires pour
les peripheriques que l'on possede et les fonctionnalites que l'on
souhaite utiliser, est-ce qu'il vaut mieux compiler ces pilotes de
peripheriques en modules ou plutot directement dans le noyeau???

Je ne vis pas quel interet de compiler en modules sachant que ceux-ci
seront de toutes maniere chargés e permanence.


Sauf si tu decides d'upgrader un modules, sans vouloir forcement
recompiler le noyau (ce qui implique de plus de rebooter la machine,
ce qui n'est pas le cas pour un remplacement de module).

Sauf si tu joue a modifier les sources d'un modules toi meme (ce qui
est un peu la meme chose que le cas precedent).

Sauf si tu veux jongler avec 2 drivers differents;

Quand un driver est plante (eg quand je ne comprends plus rien a ce qui
se passe avec ma carte bttv), je trouve aussi pratique de decharger
tous les modules concernant de pres ou de loin ma carte bttv, et
de recommencer. Quand on programme la carte c'est des chose qui
arrivent souvent.
Il y a sans doute une facon intelligente de faire sans avoir a
rebooter la machine meme quand le driver est integre dans le noyau. Mais
le fait d'avoir des modules me permet de ne pas etre intelligent.






--
Replace INVALID by free to send me a mail.
Remplaçez INVALID par free pour m'envoyer un mail.



Avatar
Niko
stephane wrote/ecrivait:
a dit:
punaise je dois etre mauvais alors....
Tu veux dire que pour recompiler un module je ne suis pas obligé de me
retaper toute la procedure permettant de recompiler un kernel ?
si je change de module, il me faut bien "l'image" du kernel qui va bien
avec ou je me trompe ?


Je ne comprend pas grand chose à ce que vous dites, mais moi quand j'ai
besoin d'un module, je fais ca en gros:

make menuconfig ; make modules ; cp /lib/modules/`uname -a`
/lib/modules/`uname -a`.OLD ; make modules_install ; depmod -ae

modprobe -l ; modprobe <module>

Si tu n'as plus ton kernel je ne vois pas comment tu peux faire pour
booter mais je n'ai pas compris de quoi tu parles je crois.


Ben moi je comprends très bien car j'ai toujours fait comme lui, cad.
recompiler l'image du noyau elle même donc rajouter un make deps et un make
bzImage avant. Il est vrai qu'à y réfléchir - les modules sont compilés à part
et que si le noyau en dur n'a pas changé, ça n'a pas d'intérêt.

Bon faut dire que maintenant j'utilise make-kpkg sous debian qui marche très
bien, mais dont j'ai jamais trop compris comment il travaillait.


Avatar
J. Mayer
On Tue, 12 Aug 2003 08:36:10 +0000, Niko wrote:

stephane wrote/ecrivait:
a dit:
punaise je dois etre mauvais alors....
Tu veux dire que pour recompiler un module je ne suis pas obligé de me
retaper toute la procedure permettant de recompiler un kernel ?
si je change de module, il me faut bien "l'image" du kernel qui va bien
avec ou je me trompe ?


Je ne comprend pas grand chose à ce que vous dites, mais moi quand j'ai
besoin d'un module, je fais ca en gros:

make menuconfig ; make modules ; cp /lib/modules/`uname -a`
/lib/modules/`uname -a`.OLD ; make modules_install ; depmod -ae

modprobe -l ; modprobe <module>

Si tu n'as plus ton kernel je ne vois pas comment tu peux faire pour
booter mais je n'ai pas compris de quoi tu parles je crois.


Ben moi je comprends très bien car j'ai toujours fait comme lui, cad.
recompiler l'image du noyau elle même donc rajouter un make deps et un make
bzImage avant. Il est vrai qu'à y réfléchir - les modules sont compilés à part
et que si le noyau en dur n'a pas changé, ça n'a pas d'intérêt.

Bon faut dire que maintenant j'utilise make-kpkg sous debian qui marche très
bien, mais dont j'ai jamais trop compris comment il travaillait.


make bzImage n'est pas forcément débile, car le fait de changer
la config peut des fois avoir des "effets de bords" subtils.
S'il n'y en a pas, il ne recompilera rien.
Par contre, make dep est une énorme perte de temps:
dans les noyaux < 2.5, make dep est fait une fois pour toutes:
à moins que tu ne patches le kernel, il n'y a jamais besoin de
le refaire. Si tu les fais, tu recompiles _tout_ !
Et ta compile prends 100 fois plus de temps que nécessaire...



Avatar
Niko
J. Mayer wrote/ecrivait:
On Tue, 12 Aug 2003 08:36:10 +0000, Niko wrote:
<snip>

à moins que tu ne patches le kernel, il n'y a jamais besoin de
le refaire. Si tu les fais, tu recompiles _tout_ !
Et ta compile prends 100 fois plus de temps que nécessaire...


Merci du (des) tuyau(x)!

Avatar
Thierry Boudet
In article <3f389685$0$8306$, Herve wrote:

Non. Le meilleur exemple est le pilote nVidia: c'est un module auquel(*) le
kernel ne connaît rien. Tout ce qu'il faut, c'est :
- le support pour les modules dans le noyau
- qu'il n'y ait pas de conflit entre modules ou avec le noyau

(*) c'est français, ça ? Ça sonne pas bien...


Normal que ça sonne pas bine, c'est pas libre...

--
il est très bien son lecteur de news, j'ai le même et je n'est aucun
problème pour le lire.
C'est pas tant pour le lire, c'est pour le *comprendre* que ca pose problème

il pourrait pas enlever les doigts de sa bouche quand il tape ?