Probleme de modules - Débats - Linux et OS Alternatifs
Marsh Posté le 21-07-2002 à 20:31:07
réponse d'ex newbie , mais bon :
as-tu bien recompilé les modules avec le kernel ? avec un 'make modules modules_install' par exemple ?
Si tu as plusieurs sources de noyau : as tu vérifié que /usr/src/linux pointe vers le bon répertoire (par exemple /usr/src/linux-2.4.18) ?
Ca fait cette erreur de symboles quand des modules compilés pour une autre version que le noyau en cours d'utilisation sont chargés.
Marsh Posté le 22-07-2002 à 15:31:00
Bah j'avais pas de lien symbolique /usr/src/linux.
J'en ai créé un qui pointe vers /usr/src/kernel-source-2.4.18/.
Mais ça ne marche toujours pas j'ai toujours cette erreur :
unresolved symboled quand je veux faire un quand je fais un depmod ...
Marsh Posté le 22-07-2002 à 15:34:23
tu peux tester un rm -rf /lib/modules/kernel-source-2.4.18 puis tu refais ton make modules_install
Marsh Posté le 22-07-2002 à 15:40:10
Voilà je viens de penser à quelque chose là :
La premiere fois que j'ai compilé mon driver nvidia (c'était avec un noyau 2.2.20) ça n'a pas marché parcequ'il ne trouver pas le repertoire des headers.
j'ai du faire make SYSINCLUDE=/usr/src/kernel-header-2.2.20 et là ça avait marché.
Maintenant pour le noyau 2.4.18 il compile correctement tout de suite. Donc peut etre qu'il utilise les anciens headers (ceux pour le noyau 2.2.20).
Est ce que c'est possible ? et si c'est possible comment est ce que je peux changer ça ?
Marsh Posté le 22-07-2002 à 15:42:41
buchu a écrit a écrit : tu peux tester un rm -rf /lib/modules/kernel-source-2.4.18 puis tu refais ton make modules_install |
Je le fais à chaque fois :-( mais merci quand même.
Marsh Posté le 22-07-2002 à 15:50:26
question de newbi lamer récent
c quoi ca, le kernel header???? et cette commande qui fait le SYSINCLUDE=/usr/src/kernel-header-2.2.20
ca sert à quoi??
Marsh Posté le 22-07-2002 à 16:12:41
thenubi a écrit a écrit : question de newbi lamer récent c quoi ca, le kernel header???? et cette commande qui fait le SYSINCLUDE=/usr/src/kernel-header-2.2.20 ca sert à quoi?? |
Réponse de newbie un peu moins récent (enfin pas vieux non plus):
Avec la [debian woody] c'est le package qui contient les entetes des sources du noyau ~ les includes pour pourvoir compiler des applications qui les necessitent sans avoir besoin des sources même.
La commande qui fait le SYSINCLUDE c'est make. Elle utilise un script, le fichier Makefile qui contient des informations pour compiler un programme.
Pour le SYSINCLUDE=rep je ne sais pas si c'est typique du Makefile des sources du driver NVidia ou c'est une option commune.
En tout cas elle permet de dire au compilateur d'aller chercher les fichiers dont il a besoin dans le repertoire rep.
Marsh Posté le 22-07-2002 à 16:38:24
pffff
linux,c pas pour les nubi
dur dur
Marsh Posté le 30-07-2002 à 21:49:04
Bonjour à tous
Eh bien, je crois que je suis un specialiste des sujets impopulaire !
Bon ... c'est pas grave
Voilà pour mon probléme de modules eh bien, c'est réglé.
En fait c'est Shinobufan qui m'a mis la puce à l'oreille (merci à lui). Il faut bien mettre à jour son lien /usr/src/linux vers le repertoire du noyau le plus recents, mais il y a egalement dans /usr/include quelques changements à faire pour les repertoires :
asm, linux, video, net ...
Je ne sais pas si ce que j'ai fait est propre mais en tout cas ça marche !
J'ai renomé les repertoires ci-dessus en ajoutant .old à la fin et je les ai remplacés par des liens symboliques qui pointent vers l'equivalents dans le repertoire du noyau le plus recent.
Voilà, si quelqu'un a une methode plus propre, je veux bien qu'il m'en fasse part.
Au revoir
Marsh Posté le 30-07-2002 à 22:17:58
tu avais fais make dep ?
http://linux-wizard.tuxfamily.org/howto_migration.html
Marsh Posté le 30-07-2002 à 22:27:41
sinon l'histoire des liens c'est une bonne chose à condition que tu aies fait pointer les liens à traver /usr/src/linux/... et pas /usr/src/linux-2.4.18/... parce que sinon t'es bon pour les remodifier quand tu changera de sources du noyau, alors que si ils pointent via /usr/src/linux/... il te suffira de changer le lien linux dans /usr/src pour que tout soit correct, ce qui est quand même plus pratique.
c'était juste une astuce en passant, mais c'est bizarre que dans ta distrib ces liens n'existaient pas déjà.
Marsh Posté le 31-07-2002 à 18:16:15
AsDePique a écrit a écrit : sinon l'histoire des liens c'est une bonne chose à condition que tu aies fait pointer les liens à traver /usr/src/linux/... et pas /usr/src/linux-2.4.18/... parce que sinon t'es bon pour les remodifier quand tu changera de sources du noyau, alors que si ils pointent via /usr/src/linux/... il te suffira de changer le lien linux dans /usr/src pour que tout soit correct, ce qui est quand même plus pratique. c'était juste une astuce en passant, mais c'est bizarre que dans ta distrib ces liens n'existaient pas déjà. |
Salut
Oui j'ai bien pensé à faire pointer les liens vers /usr/src/linux
Marsh Posté le 31-07-2002 à 18:18:50
Dark_Schneider a écrit a écrit : tu avais fais make dep ? http://linux-wizard.tuxfamily.org/howto_migration.html |
Ouep ...
Marsh Posté le 31-07-2002 à 21:47:09
copie le system.map de /usr/src/linux vers le System.map-2.4.18-correspondant_à_ton_noyau dans /boot
Fais un depmod -ae -F /boot/System.map-2.4.18-correspondant_à_ton_noyau
Marsh Posté le 21-07-2002 à 18:13:31
Bonjour :
J'essaye de compiler un noyau 2.4.18.
Mais à chaque fois que je veut mettre un support en module, ce modules n'est pas chargé motif :
unresolv symbol in modules ...
J'ai eu ce probleme avec ppp. Que j'ai resolue en mettant le support inclue au noyau.
J'ai le meme probleme en essayant de compilé mon driver NVIDIA, il le compile mais ne veut le charger, toujours à cause de la meme erreur.
Voilà si quelqu'un sait ce qu'il faut faire ...
Merci.