Pb installation module 'maison' [résolu][Linux][MODULE] - Linux et OS Alternatifs
Marsh Posté le 19-05-2005 à 14:02:16
Emmanuel Delahaye a écrit : Bonjour,
|
bah là je crois que c'est clair : '2.6.8.1-24mdk 686 gcc-3.4' should be '2.6.8.1-12mdk 686 gcc-3.4' tu tournes avec un 2.6.8.1-12mdk et t'as choppés les sources du 2.6.8.1-24mdk...(comment ça totologie?).
2 solutions : tu cherches le noyau de révision 24 (ou les sources de révision 12)...
tu recompiles le 24 à partir des sources...
ou alors... un truc qui marcherait avec un 2.4 (pas sur avec un 2.6) dans linux/include/linux/version.h tu changes le
Code :
|
mais je ne garantie pas que le version magic est calculé à partir de ça...
PS : juste pour vérifier que donne
Code :
|
et
Code :
|
?
PS : essaye aussi de forcer :
Code :
|
Marsh Posté le 19-05-2005 à 16:04:20
xouille38 a écrit : 2 solutions : tu cherches le noyau de révision 24 (ou les sources de révision 12)... |
Ok, c'est clair. Merci.
Citation : PS : juste pour vérifier que donne
|
|
Citation : et
? |
|
Citation : PS : essaye aussi de forcer :
|
Marche pas
|
Je vais essayer de trouver les bons sources... Le noyau a dû être mis a jour...
Marsh Posté le 19-05-2005 à 16:07:56
au contraire, ton noyau n'a pas été mis à jour (2.6.8.1-12mdk) alors que les sources l'ont été
tout bonnement parce que le noyau est un truc trop sensible pour être mis à jour automatiquement.
urpmi kernel et ton noyau sera à jour au prochain reboot (si tu utilises des drivers proprio, nvidia par ex, il faudra les réinstaller)
Marsh Posté le 19-05-2005 à 16:28:52
Mjules a écrit : au contraire, ton noyau n'a pas été mis à jour (2.6.8.1-12mdk) alors que les sources l'ont été |
Exact. Je crois que mes cinq minutes d'idiotie sont épuisées!
Je vais à la pêche aux vieux sources...
Marsh Posté le 19-05-2005 à 16:33:15
sur les CD ou dans la source Main :
ftp://ftp.proxad.net/pub/Distribu [...] k.i586.rpm
Marsh Posté le 19-05-2005 à 09:41:05
Bonjour,
Pour un kernel 2.6 (Mandriva 10.1), j'ai écrit le module minimum suivant
/* com_driver.c
pour noyau 2.6
*/
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_DESCRIPTION("com driver k2.6" );
MODULE_AUTHOR("E.D." );
MODULE_LICENSE("BSD" );
int __init init_module (void)
{
printk( KERN_ALERT "Module com init\n" );
/* 0=OK other=KO */
return 0;
}
void __exit cleanup_module (void)
{
printk( KERN_ALERT "Module com exit\n" );
}
Le make file est nommé 'Makefile' (important, car 'makefile' n'est pas reconnu). Il contient une ligne :
obj-m += com.o
La ligne de commande (script 'm') est
make -C /usr/src/linux SUBDIRS=$PWD modules
le lien '/usr/src/linux' pointe sur '/usr/src/linux-2.6.8.1-24mdk'
Le résultat de la compilation semble correct:
[edelahaye@localhost com]$ ./m
make: Entering directory `/usr/src/linux-2.6.8.1-24mdk'
CC [M] /home/edelahaye/c-dev/drv/com/com.o
Building modules, stage 2.
MODPOST
CC /home/edelahaye/c-dev/drv/com/com.mod.o
LD [M] /home/edelahaye/c-dev/drv/com/com.ko
make: Leaving directory `/usr/src/linux-2.6.8.1-24mdk'
[edelahaye@localhost com]$
Je passe ensuite en root pour charger le module .ko
edelahaye@localhost com]$ su
Password:
[root@localhost com]# dir
com.c com.ko com.mod.c com.mod.o com.o m Makefile
[root@localhost com]# insmod com.ko
insmod: error inserting 'com.ko': -1 Invalid module format
[root@localhost com]# exit
exit
[edelahaye@localhost com]$
Problème.
Le fichier var/log/messages indique:
<...>
May 19 09:29:23 localhost kernel: com: version magic '2.6.8.1-24mdk 686 gcc-3.4' should be '2.6.8.1-12mdk 686 gcc-3.4'
<...>
Il y aurait une légère incompatibilité de version...
Le binaire du noyau et les fichiers sources du kernel viennent des CD Mandrake 10.1 'Official'...
Comment résoudre ce problème ? Recompiler le noyau ?
Merci de m'avoir lu jusqu'au bout.
Emmanuel
Message édité par Emmanuel Delahaye le 04-06-2005 à 11:11:45
---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/