OVH Cloud OVH Cloud

[modules] ins

6 réponses
Avatar
root
Bonjour

Je voudrais ins=C3=A9rer un module directement dans les sources de mon noyau
plut=C3=B4t que d'ajouter le module apr=C3=A8s compilation.

Le but est d'avoir un driver reseau r=C3=A9sidant dans le noyau.

Auriez-vous une doc sur la fa=C3=A7on de proc=C3=A9der ?
Je sais pas o=C3=B9 chercher ni quoi exactement.

Merci d'avance

--=20
Nicolas - larhT

6 réponses

Avatar
root
Bruno Mathieu writes:

root a écrit:

Bonjour

Je voudrais insérer un module directement dans les sources de mon noyau
Dans le noyau ?



oui, mais dans les sources en fait. Le module manque.

plutôt que d'ajouter le module après compilation.
Pour ne plus à avoir à faire de modprobe/insmod ?



Pour pouvoir booter en reseau avec un kickstart.
Pour celà, je dois pouvoir booter avec un noyau sans modules
externes/dynamiques.

Le but est d'avoir un driver reseau résidant dans le noyau.
Auriez-vous une doc sur la façon de procéder ?
Je sais pas où chercher ni quoi exactement.


En espérant que cela répond à la question :


[snip]

Merci pour la réponse, ça je sais le faire.
J'aurais du préciser que les sources ne contiennent pas le module.
J'ai les sources d'un côté (j'ai pris le source du 2.6.9 sur kern el.org)
et un driver pour ma carte reseau bcm5700 de l'autre.
Quand je compile mon kernel puis que j'installe après-coup le module, ça foncitonne.

Ce que je voudrais c'est ajouter le driver dans les sources pour ensuite po uvoir sélectionner mon
module lors du "make gconfig"

Je précise que je débute sur linux et sur la lecture de ce forum, et qu'en fait je ne sais pas
où chercher l'info. Mais je penses bien que le sujet a déjà été traité.

merci d'avance :)


Avatar
Bruno Mathieu
root a écrit:

Bonjour

Je voudrais insérer un module directement dans les sources de mon noyau
Dans le noyau ?

plutôt que d'ajouter le module après compilation.
Pour ne plus à avoir à faire de modprobe/insmod ?

Le but est d'avoir un driver reseau résidant dans le noyau.
Auriez-vous une doc sur la façon de procéder ?
Je sais pas où chercher ni quoi exactement.

Merci d'avance

Nicolas - larhT


En espérant que cela répond à la question :

Récupére les sources du noyau, si tu as /proc/config.gz décompime le
sous /usr/src/linux/.config, sinon regarde dans /boot s'il y a un fichier
de config et copie le (c'est pour récupérer ta config actuelle). Fais make
menuconfig et recherche le driver en question. Au lieu de m comme module
mettre y. make && make modules && make modules_install && make install
devrait refaire un noyau avec le driver de ta carte réseau en dur. Regarde
dans ce forum il y a d'autres fils qui parlent de ça.

--
Bruno

Avatar
root
Bruno Mathieu writes:


Ce que je voudrais c'est ajouter le driver dans les sources pour ensuite
pouvoir sélectionner mon module lors du "make gconfig"



Oups, là c'est autre chose en effet.
Tu as jeté un oeil sur les mailing list
http://kernel.org/pub/linux/docs/lkml/ ?


non, je vais y aller de ce pas.
merci :)

Si le driver se compose simplement d'un fichier .c et d'un .h,
tu peux peut-être remplacer un driver existant par le tien en rempla çant les
fichers (par exemple tu écrases 3c501.[hc] et tu configures comme si tu
avais une 3c501), mais c'est hyper sale et pas du tout garanti ;-)


Euh, je suis en 2.6.9, et donc c'est un .ko
Mais j'ai les sources, d'où je pensais partir.

Merci encore.


Avatar
Bruno Mathieu
root a écrit:

J'aurais du préciser que les sources ne contiennent pas le module.
J'ai les sources d'un côté (j'ai pris le source du 2.6.9 sur kernel.org)
et un driver pour ma carte reseau bcm5700 de l'autre.
Quand je compile mon kernel puis que j'installe après-coup le module, ça
foncitonne.

Ce que je voudrais c'est ajouter le driver dans les sources pour ensuite
pouvoir sélectionner mon module lors du "make gconfig"



Oups, là c'est autre chose en effet.
Tu as jeté un oeil sur les mailing list
http://kernel.org/pub/linux/docs/lkml/ ?
Si le driver se compose simplement d'un fichier .c et d'un .h,
tu peux peut-être remplacer un driver existant par le tien en remplaçant les
fichers (par exemple tu écrases 3c501.[hc] et tu configures comme si tu
avais une 3c501), mais c'est hyper sale et pas du tout garanti ;-)

--
Bruno

Avatar
Bruno Mathieu
Bruno Mathieu a écrit:

root a écrit:

J'aurais du préciser que les sources ne contiennent pas le module.
J'ai les sources d'un côté (j'ai pris le source du 2.6.9 sur kernel.org)
et un driver pour ma carte reseau bcm5700 de l'autre.
Quand je compile mon kernel puis que j'installe après-coup le module, ça
foncitonne.

Ce que je voudrais c'est ajouter le driver dans les sources pour ensuite
pouvoir sélectionner mon module lors du "make gconfig"




Bon, j'ai pensé aussi à une solution propre ;-)
As tu contacté quelqu'un qui aurait écrit le driver de bcm5700 ?
Il doit bien y avoir un contact soit sur leur site soit dans les sources, et
la personne qui a écrit ce module te donnera peut-être une solution
propre ? Si tel est la cas, fais nous en profiter :)

--
Bruno


Avatar
Nicolas Michel
Bruno Mathieu writes:

Bon, j'ai pensé aussi à une solution propre ;-)
As tu contacté quelqu'un qui aurait écrit le driver de bcm5700 ?
Il doit bien y avoir un contact soit sur leur site soit dans les sources, et
la personne qui a écrit ce module te donnera peut-être une solu tion
propre ? Si tel est la cas, fais nous en profiter :)


merci :)

Finalement, j'ai demandé à un copain qui m'a dit de regarder bà ªtement dans le
README de mon driver.

Et effectivement, il y a d'abord une instruction pour faire une install sim ple
du module dynamique, puis il y a les instructions pour patcher ne source
du noyau. c'est donc un bête "patch -p1" qui fait le travail.

Comme quoi, je suis une grosse andouille

Merci pour ton aide. :)

--
Nicolas - larhT