pb de "vermagic" lors de la compilation d'un module

Le
Vincent Verdon
Bonsoir à tous,

j'ai un problème de compilation d'un module.

En fait, je cherche à ajouter le module bridge.ko à une machine
virtuelle colinux s'exécutant sous Windoze.
J'ai récupéré les sources du bon noyau, le 2.6.33.7.
Je parviens à compiler (à l'intérieur de ma machine virtuelle) après
avoir fait make menuconfig, ajouté le module voulu puis make.
Je tente de charger mon beau module, mais j'obtiens l'erreur Invalid
module format. quand je fais un modinfo -F vermagic bridge.ko, je récupère :
2.6.33.7-co-0.7.9 SMP mod_unload 686

Quand je tente la même commande sur un module déjà livré avec Colinux,
j'obtiens 2.6.33.7-co-0.7.9 preempt mod_unload modversions 586

Je vois bien qu'il y a une différence, mais comment arranger cela ?

Ma dernière compil d'un noyau remonte à 10 ans Ce n'est pas ma grande
spécialité

Amicalement, Vincent Verdon
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Emmanuel Florac
Le #23814611
Le Sun, 02 Oct 2011 20:20:52 +0200, Vincent Verdon a écrit:


Je vois bien qu'il y a une différence, mais comment arranger cela ?



Quand tu fais un "make menuconfig" ou "make xconfig", dans les options de
base du noyau tu peux configurer le nom local de la version; dedans tu
mets la version qui correspond exactement à ton noyau, et il sera content.

--
entia non sont multiplicanda praeter necessitatem.
John Ponce of Cork.
Pascal Hambourg
Le #23814821
Salut,

Vincent Verdon a écrit :

En fait, je cherche à ajouter le module bridge.ko à une machine
virtuelle colinux s'exécutant sous Windoze.
J'ai récupéré les sources du bon noyau, le 2.6.33.7.
Je parviens à compiler (à l'intérieur de ma machine virtuelle) après
avoir fait make menuconfig, ajouté le module voulu puis make.
Je tente de charger mon beau module, mais j'obtiens l'erreur Invalid
module format. quand je fais un modinfo -F vermagic bridge.ko, je récupère :
2.6.33.7-co-0.7.9 SMP mod_unload 686

Quand je tente la même commande sur un module déjà livré avec Colinux,
j'obtiens 2.6.33.7-co-0.7.9 preempt mod_unload modversions 586

Je vois bien qu'il y a une différence, mais comment arranger cela ?



Apparemment des options de configuration diffèrent entre le noyau et le
module : multiprocessing (CONFIG_SMP), preemption (CONFIG_PREEMPT*),
module versionning (CONFIG_MODVERSIONS), processor family
(CONFIG_M586/686). Le plus simple serait de reprendre le fichier de
configuration .config du noyau colinux, qui peut se trouver dans /boot/
ou dans /proc/config.gz si l'option correspondante a été activée dans le
noyau.
Vincent Verdon
Le #23815401
Bonjour,

Le 02/10/2011 23:33, Pascal Hambourg a écrit :
Salut,

Quand je tente la même commande sur un module déjà livré avec Colinux,
j'obtiens 2.6.33.7-co-0.7.9 preempt mod_unload modversions 586

Je vois bien qu'il y a une différence, mais comment arranger cela ?



Apparemment des options de configuration diffèrent entre le noyau et le
module : multiprocessing (CONFIG_SMP), preemption (CONFIG_PREEMPT*),
module versionning (CONFIG_MODVERSIONS), processor family
(CONFIG_M586/686). Le plus simple serait de reprendre le fichier de
configuration .config du noyau colinux, qui peut se trouver dans /boot/
ou dans /proc/config.gz si l'option correspondante a été activée dans le
noyau.


Depuis, j'ai avancé. Je suis bien allé voir dans /proc/config.gz et j'ai
trouvé les paramètres à modifier. Je suis ensuite allé dans .config de
/usr/src/linux... et j'ai reporté les modifs.
Désormais, j'obtiens le bon "vermagic", mais... toujours la même erreur!
"Invalid module format". Là, j'ai atteint les limites de mes compétences.
J'imagine que, pour faire tourner le noyau Linux en espace utilisateur
(je rappelle qu'il s'agit de Colinux), des modifications ont été faites.
Et moi, j'essaie de compiler un module standard non patché, à partir des
sources standard de Linux. Peut-être le problème est-il là ?

Amicalement, Vincent Verdon
Emmanuel Florac
Le #23818491
Le Mon, 03 Oct 2011 09:29:29 +0200, Vincent Verdon a écrit:

Depuis, j'ai avancé. Je suis bien allé voir dans /proc/config.gz et j'ai
trouvé les paramètres à modifier. Je suis ensuite allé dans .config de
/usr/src/linux... et j'ai reporté les modifs.



La bonne façon de modifier le .config c'est "make menuconfig", est-ce
bien ce que tu as fait?

--
Three may keep a secret, if two of them are dead.
Benjamin Franklin.
Publicité
Poster une réponse
Anonyme