Forum Linux.redhat Problème de compilation d'un module linux

Posté par  .
Étiquettes : aucune
0
23
nov.
2004
Suite à ma dernière question sur le problème " ajout d'un module hello world ", sa réussi la compilation et le chargement du module mais le compilateur m'affiche un warning:
the module is compiled with 2.4.20
while the kernel version is 2.4.20-8

ca veut dire quoi ca ?

merci bien à Gérald COLANGELO, je lui demmande seulement de me dire c'est quoi l'importance de l'option -I/lib/modules/2.4.20-8/build dans la comande gcc ?!
au revoir...
  • # Makefile

    Posté par  . Évalué à 2.

    A voir dans le Makefile des sources du noyau, au tout début (4 premières lignes), il faut rajouter EXTRAVERSION = -8

    Un truc du genre....
  • # Importance du -I

    Posté par  . Évalué à 3.

    Salut,

    Donc on va faire rapide. La programmation user land / kernel land sont deux choses complétement différentes.
    En kernel land, tu n'as pas de libc ni aucune autre lib pour t'aider, juste l'API du kernel.

    Donc si tu veux compiler un module, il faut d'abord définir les symboles MODULE et __KERNEL__ pour préciser à que tu travailles en kernel land puis il faut utiliser les fichiers headers du kernel, d'ou le -I....

    En effet, tu ne vas pas utiliser tes includes standards pour un code qui n'a aucun lien avec la libc. Si tu utilises tes includes standards, tu vas te retrouver avec une tonne de warning par rapport au type etc .. et c'est logique :)

    Et quand tu regardes dans /lib/modules/`uname -r`/ :
    [binarym@gco]:~% sudo ls -l /lib/modules/2.4.24-grsec
    lrwxrwxrwx 1 root root 34 Apr 16 2004 build -> /usr/src/linux-2.4.24-grsec-athena

    Il s'agit en fait d'un lien vers les sources de ton kernel.
    D'ou l'importance d'avoir un kernel tree correctement configuré et en accord avec le kernel que tu fais tourner sur ta machine.
    J'espère que tu as compris avec ces quelques explications.
    Si t'as d'autres soucis, tu peux me mailler ou m'envoyer un message via le système de linuxfr.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.