IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

Problème d'insertion d'un module (version pas bonne alors qu'elle l'est)


Sujet :

Administration système

  1. #1
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut Problème d'insertion d'un module (version pas bonne alors qu'elle l'est)
    Bonjour,

    je sais bien que ce n'est pas une question pour un dimanche mais là, je suis sec de chez sec, alors un coup de pouce sera le bienvenu.

    J'ai besoin d'insérer un module (nbd.ko) qui a été compilé récemment avec un kernel 5.7.10 (qui vient d'une mise à jour d'un 5.7.0-0.bpo.2-amd64 installé il y a 8 mois environ et où tout se passait bien).

    Après un cd /lib/modules/5.7.10/, le modprobe kernel/drivers/block/nbd.ko se vautre avec FATAL: Module kernel/drivers/block/nbd.ko not found in directory /lib/modules/5.7.10 et pourtant j'ai recopié le fichier dans ce dossier à la main (ligne de commande).

    Alors je tente
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ insmod kernel/drivers/block/nbd.ko 
    insmod: ERROR: could not insert module kernel/drivers/block/nbd.ko: Invalid module format
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ depmod kernel/drivers/block/nbd.ko 
    depmod: ERROR: Bad version passed kernel/drivers/block/nbd.ko
    C'est désagréable ces insultes, car
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $ modinfo kernel/drivers/block/nbd.ko 
    filename:       /lib/modules/5.7.10/kernel/drivers/block/nbd.ko
    license:        GPL
    description:    Network Block Device
    depends:        
    retpoline:      Y
    intree:         Y
    name:           nbd
    vermagic:       5.7.10 SMP mod_unload modversions 
    parm:           nbds_max:number of network block devices to initialize (default: 16) (int)
    parm:           max_part:number of partitions per device (default: 16) (int)
    qu'on comparera utilement avec la version backportée qui fonctionnait bien auparavant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $ modinfo ../5.7.0-0.bpo.2-amd64/kernel/drivers/block/nbd.ko 
    filename:       /lib/modules/5.7.10/../5.7.0-0.bpo.2-amd64/kernel/drivers/block/nbd.ko
    license:        GPL
    description:    Network Block Device
    depends:        
    retpoline:      Y
    intree:         Y
    name:           nbd
    vermagic:       5.7.0-0.bpo.2-amd64 SMP mod_unload modversions 
    parm:           nbds_max:number of network block devices to initialize (default: 16) (int)
    parm:           max_part:number of partitions per device (default: 16) (int)
    qui est donc strictement la même que l'autre, mis à part le chemin d'enregistrement du fichier et sa version.
    (D'ailleurs je ne comprends pas comment le module de la version backportée a bien pu fonctionner avec un noyau 5.7.10, mais je n'ai pas eu à mettre les mains là-dedans quand j'ai démarré mes tests avec nbd, il y a quelques mois -- et depuis ça fonctionnait du feu de Dieu ! -- jusqu'à ce matin, suite à recompil noyau et modules il y a qq jours).

    Suite à mes tests ci-dessus, le seul truc que je trouve dans dmesg est [ 2523.867356] nbd: version magic '5.7.10 SMP mod_unload modversions ' should be '5.7.10 SMP mod_unload ' et je voudrais bien savoir d'où ça sort, puisque la version 5.7.0-0 est avec la string "modversions" depuis septembre 2020...
    Pour enfoncer le clou, j'ai farfouillé dans le contenu d'un vieux initrd.img un peu au hasard et les modules que j'y rencontre ont tous l'info "modversions", donc je ne comprends pas ce message de dmesg...

    Une idée, quelqu'un ?

    Config : Debian 10.6 / noyau 5.7.10 / 64 bits
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  2. #2
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Un peu plus tard…

    Il y en a qui disent qu'il faut "forcer" modprobe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $ modprobe --force /lib/modules/5.7.10/kernel/drivers/block/nbd.ko 
    modprobe: FATAL: Module /lib/modules/5.7.10/kernel/drivers/block/nbd.ko not found in directory /lib/modules/5.7.10
    $ locate nbd.ko (sortie allégée)
    /usr/lib/modules/5.7.0-0.bpo.2-amd64/kernel/drivers/block/nbd.ko
    /usr/lib/modules/5.7.10/kernel/drivers/block/nbd.ko <<< et ça alors, c''est quoi ?
    $ ls -AlgG /usr/lib/modules/5.7.10/kernel/drivers/block/nb*
    -rw-r--r-- 1 968008 avril 18 11:57 /usr/lib/modules/5.7.10/kernel/drivers/block/nbd.ko
    Et cette ligne c'est la cible du raccourci /lib/modules/5...

    Pourquoi modprobe va-t-il chercher dans /lib/modules/5.7.10 sans descendre plus bas dans l'arborescence ?


    Autre chose : j'ai réussi à recompiler ce fichu module sans qu'il embarque "modversions" dans vermagic et maintenant,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ depmod /lib/modules/5.7.10/kernel/block/nbd.ko 
    depmod: ERROR: Bad version passed /lib/modules/5.7.10/kernel/block/nbd.ko
    Et rien dans dmesg !
    Quant au module, pour moi il serait bon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $ modinfo nbd.ko
    filename:       /usr/src/linux-source-5.7/drivers/block/nbd.ko
    license:        GPL
    description:    Network Block Device
    depends:        
    retpoline:      Y
    intree:         Y
    name:           nbd
    vermagic:       5.7.10 SMP mod_unload 
    parm:           nbds_max:number of network block devices to initialize (default: 16) (int)
    parm:           max_part:number of partitions per device (default: 16) (int)

    Je n'y comprends plus rien…
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  3. #3
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Bonjour,

    Citation Envoyé par N_BaH
    Le sujet que vous avez créé a été déplacé dans un forum mieux adapté où vous aurez davantage de réponses.
    Hé ben c'est pas gagné, hein...

    Bref, j'ai fait en mode bourrin, j'ai vérifié toutes les options de la config (j'ai dû en louper une) puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    make clean
    make
    make modules_install
    make install
    reboot
    test
    et c'est toujours la même pagaille...
    j'ai dû louper une autre option, mais laquelle ?

    Si je compare la ligne vermagic de (au hasard) libata bien chargé (sinon je ne pourrais pas booter) et celle de nbd, ce sont strictement les mêmes : vermagic: 5.7.10 SMP mod_unload modversions.
    Alors pourquoi un message d'erreur là-dessus concernant nbd et pas libata ?

    Une piste : insmod nbd insère le module sans crier et il est ensuite bien présent avec lsmod | grep nbd alors que modprobe ne veut rien savoir.
    Mais c'est une piste moisie : je peux faire modinfo de n'importe quel module chargé, ça me dit des choses, mais pour nbd c'est toujours modinfo: ERROR: Module nbd not found.

    Et le gag est là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ depmod /lib/modules/5.7.10/kernel/drivers/block/nbd.ko 
    depmod: ERROR: Bad version passed /lib/modules/5.7.10/kernel/drivers/block/nbd.ko
    Mais rien dans dmesg, dans syslog, dans kern.log.
    C'est épuisant et je n'avance pas...

    EDIT : depmod -E /lib/modules/5.7.10/kernel/drivers/block/nbd.ko a fait le taf, le module se charge à nouveau, mais est-ce que ça sera suffisant ? Est-ce que ça survivra à une mise à jour des sources et recompil du fourbi ? L'avenir le dira...
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème syntaxe SQL - INSERT INTO si n'existe pas
    Par namrekan dans le forum Langage SQL
    Réponses: 7
    Dernier message: 22/04/2020, 19h46
  2. Réponses: 3
    Dernier message: 23/06/2019, 15h18
  3. Réponses: 2
    Dernier message: 03/07/2007, 08h47
  4. Problème sur un left join en version 4 mais pas en 5 !
    Par Christophe Charron dans le forum Requêtes
    Réponses: 1
    Dernier message: 04/05/2007, 20h45
  5. Réponses: 8
    Dernier message: 26/01/2006, 14h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo