Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

4 réponses
Avatar
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

4 réponses

Avatar
Emmanuel Florac
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.
Avatar
Pascal Hambourg
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.
Avatar
Vincent Verdon
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
Avatar
Emmanuel Florac
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.