Module e100.c a transformer en e100.o ?


#1

Bonjour,

Je suis un ptit nouveau sous debian et j’essaye de faire de mon mieux pour me démerder, mais là j’ai vraiment du mal.
J’ai été chercher un module pour ma carte ethernet qui était au format rpm. J’ai donc trouvé un utilitaire, “alien”, qui l’a convertit en .deb qui a été “dépackté” en tar.gz, lui-même décompresser en un dossier “e100-1.5.6/”. Dans ce dossier, je me retrouve avec des sources et plein d’autres choses qui, me passent un peu au-dessus de la tête. Mais les sources m’intéressent, pcq j’ai cru comprendre(mais je commence à me demander si j’ai bien compris) qu’il fallait les compiler pour les rendre utilisable par le système. Donc je cherche le moyen de transformer le .c en .o . J’ai essayé avec “make install”, mais ca n’a rien donné. Et comme make a à voir avec le noyau ca m’inquiète :slightly_smiling:
Bref si quelqu’un pouvait me conseiller, ca m’arrangerait vraiment.

Ah oui, je suis sur une woody, la 3.0 r4 et je n’ai encore rien modifier au kernel et tout ca… je ne sais pas si ca peut aider. Qui sait ?!

Cédric


#2

Je crois pas que tu ais besoin de compiler toi même le module pour une e100. Normalement, il est déjà livré avec le noyau, tu as juste à faire un modprobe e100 pour le charger, et le tour est joué.
Ensuite, un ifconfig -a devrait t’afficher ta carte réseau fraichement installée :smiley:


#3

Ben je n’ai pas une e100, mais bien un nc3161 (intel ou compaq je ne sais pas trop). Et le module e100 permet de faire fonctionner la nc3161 ca j’ai vérifié. Et je n’ai pas le “e100” j’ai bien un “eepro100”…
Ok j’vais vérifier.
J’ai lancé ifconfig -a et visiblement ca marche. En tout cas elle a l’air installée.
Bon tu as raison, je vais faire avec. On verra plus tard.
Du coup j’ai l’impression d’avoir perdu bcp de temps… :slightly_smiling: raaah

Enfin j’aurais quand même aimé connaitre la marche à suivre pcq ca pourra toujours me servir un de ces jours. Et j’aimerais comprendre-apprendre.
Merci bobx


#4

Quelques petites explications sur la compilation :
Généralement, pour compiler un module supplémentaire à ton noyau, il te faut :

  • Les sources du modules
  • Les headers de ton kernel (paquet kernel-headers- )
  • Tout le nécessaire pour compiler (gcc, make …)

Pour commencer, il faut grécer un lien /usr/src/linux qui pointe vers le répertoire où se trouvent les headers de ton noyau.
Ensuite, dans le répertoire des sources de ton module, il y a juste à faire :

  • ./configure (pas toujours nécessaire)
  • make
  • make install

Et on finit avec un petit insmod <nom_du_module> pour le charger, et c’et tout bon. Mais ce type de manipulation est assez rare, à moins d’avoir un matériel assez spécifique non supporté par le noyau.


#5

d’abord, quand tu connais le nom du module qui gere un de tes composants materiels, regardes d’abord si le module existe avec ton noyau courant. 'modinfo ’ devrait suffire, independament du fait que le module fonctionne ou pas, tu sauras au moins si ton noyau le gere. Aprés, s’il le gere bien, tu fais un 'lsmod | grep ’ pour savoir s’il est monté (attention, il peut aussi etre en dur dans ton noyau, auquel cas, il n’apparaitra pas avec lsmod).

plus spécifiquement debian, quand tu connais le nom du module, qu’il n’existe pas dans ton noyau, et aprés avoir vérifié qu’il n’existe pas dans les sources normales du noyau,
quand tu as vu tout ca, tu fais des recherches avec 'apt-cache search ': le pilote propriétaire nvidia, par exemple existe sous forme de paquetage source.
Finalement, et vraiment pour des composants exotiques, tu peux utiliser la methode de bobx pour compiler ce que tu auras trouvé comme source pour ton module.
Mais même la, recherches tes sources en ajoutant le mot clé ‘debian’ pour voir si tu n’as pas des sources et/ou une methode particuliere de compiler debian (si tu suis la doctrine debian, ton systeme reste gèrable).
PS: avec les nouveaux noyaux, les modules noyaux se compilent en .ko (kernel objects), pour les distinguer des simples compils en .o
PPS: make est une commande de compilation mais ne concerne pas spécifiquement le noyau. Sous debian, il existe une commande spécifique pour la compil du noyau: c’est make-kpkg (le mot clé pour la recherche de doc sur la compil noyau à la sauce debian).


#6

Merci pour les infos sur la compilation.
Il y’a des peu de chances d’y recourir d’après ce que tu dis, mais ca pourra toujours me servir. Et pour une fois je trouve ca clair. comparativement a tout ce que j’ai pu voir avant.