Modules et compilation kernel

salut

en lisant le howto Keernel de linux, datant du noyau 2.2, mais censé ne pas s’attarder au détail des versions, je suis tombé sur un paragraphe qui pourrait me plaire.

il est précisé qu’on peut integrer des modules à compiler pour le noyau.
bon c’est ok pour ceux qui me sont présenté par menuconfig… de manière à optimiser le kernel… avec yes ou m selon qu’on ait le choix ou non…

mais mon désir est d’inclure dans le noyau un module qui est chargé à la volée avec modprobe. le menuconfig n’a pas d’entrée correspondant à ce module. donc faudrait que j’ai une idée de la procedure pour l’y inclure, ou du moins qu’au bout du compte le kernel l’inclus mon petit module…

j’ai peu etre compris de travers ou révé un peu trop fort… vous pouvez me confirmer si c’est possible ?

si c’est le cas ça m’aiderait à résoudre un gros problème !

ce serait pour l’inclure dans un 2.6.18 a priori

D’où vient ton module ? C’est un truc que tu as bricolé toi ?

Sinon il faut que tu puisses compiler ce module à partir de ses sources je suppose. Est-il fait pour Linux ? (il vaut mieux)

réponse…
bah c’est bien un module linux, puisqu’il se charge avec modprobe ?

c’est un module ALSA qui n’est pas inclus dans le kernel, mais qui est dans la librairie ALSA. et j’ai une contrainte matériel qui fait que je dois plus que certainement garder ALSA dans le kernel pour pouvoir utiliser un certain matériel, un autre.

…pour expliquer ma situation en détail, mais ce n’est pas vraiment la question de mon fil.
car tout ce que je veux c’est comment aujourd’hui et dans le futur je peux compiler au mieux les modules que je charge avec modprobe dans le noyau linux , mais les compiler pour qu’ils soient partie intégrante du kernel ?

parce qu’en détail, c’est pas super simple mais bon :

en fait pour résumer au maximum j’ai deux cartes sur port PCI : A et B.
A est inclus dans le kernel 2.6.18
B ne l’est pas. d’ou mon désire d’include B dans mon kernel, à cause de diverses contraintes.

mais pour vraiment t’expliquer les choses: des cartes gérées par alsa j’en ai 6 en comptant en plus mes trois interfaces matérielles gérées par le module snd-usb-audio, et la configuration se passe presque bien quand c’est géré dans le noyau, tout est bien reconnu sans problèmes, sauf snd-pdplus… petit canard boiteux que je veux faire avaler à mon kernel dans sa prochaine compilation.

donc faut que j’ai au final:
snd-usb-audio
snd-via82xx
snd-gina20
snd-pdplus

qui soient compilés dans mon prochain module et fassent parti du kernel 2.6.18-anoyzthen

c’est snd-pdplus qui manque à l’appel du kernel, et que je peux charger avec un modprobe, apèrs avoir compilé les sources de ALSA ( et donc pas des sources du kernel ). mais comme ALSA ne fonctionne pas avec une partie dans le kernle et l’autre pas… je ne peux pas rester dans cette configuration !

je repète le pourquoi du comment :
J’arrive à compiler du module B depuis les sources ALSA. Et je peux le charger, avec donc ALSA hors du kernel. Mais si ALSA est hors du kernel, j’ai A qui ne peut plus fonctionner du il me semble à une limitation du des drivers du constructeur ( il me semble avoir compris cette précision, et mon expérience de ces dernières semaines semble le confirmer )

Donc je souhaite garder A dans le kernel, comme il y est très bien en 2.6.18.
Et rajouter un module B que j’ai déjà compilé à la main, et qui semble t il fonctionne très bien en stand alone, en tout cas qui se charge par modprobe.

mais mon problème peut se résumer simplement par : j’ai les sources d’une module MonModule, qui se compile à la main, et qui se charge convenablement à l’appel de modprobe, et que je voudrais inclure dans le noyau 2.6.18 pour ne plus faire modprobe

visiblement tu semble sous entendre que c’est possible, ou que tu le supposes…

ne me laisse pas dans l’expectative ainsi :slightly_smiling: depuis debut decembre j’y ai déjà pasé des jours des nuits entières sur mes problèmes de cartes son… et là t’es en train de me dire que j’ai peut etre une solution faisable :slightly_smiling:

un lien ? un man à lire ? un avis ? une méthode ? please help ! :slightly_smiling:

Je ne suis pas sûr d’avoir saisi toutes les finesses de ton pb mais si tu peux charger un module avec un ‘modprobe’ alors il se chargera automatiquement si tu le mets dans /etc/modules.

Pour compiler un module à partir de ses source, réfère-toi à ‘module-assistant’.

Mais d’autres plus calés devraient te répondre et/ou me corriger.