Compilation module sur noyau

manelz Messages postés 40 Statut Membre -  
manelz Messages postés 40 Statut Membre -
Bonjour,
svp je suis debutante en linux 'je travaille sur Centos)et je veux compiler un module (exp helloworld)sur le noyau
voila les etapes qui j'ai suivie
#include <linux/module.h>
#include <linux/kernel.h>
int init_module(void)
{

printk(KERN_INFO "Hello world 1.\n");
/*
* * A non 0 return means init_module failed; module can't be loaded.
* */
return 0;
}
void cleanup_module(void)
{
printk(KERN_INFO "Goodbye world 1.\n");
}
2======> le makefile
obj-m = hello.o
KVERSION = $(shell uname -r)
all:
make -C /lib/modules/$(KVERSION)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(KVERSION)/build M=$(PWD) clean
3 je lance la commande make il m'affiche "Rien à faire pour « all ».

2 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Je suppose que tu suis ce tutoriel ?
    https://broux.developpez.com/articles/c/driver-c-linux/

    Dans ton makefile, tu as bien penser à mettre un caractère de tabulation devant "make -C..." ?
    1
    1. manelz Messages postés 40 Statut Membre
       
      ça veut dire quoi mettre un caractère de tabulation devant "make -C..."
      0
    2. liquidus88 Messages postés 674 Statut Membre 116
       
      Bonsoir,

      Tu vois la touche Tabulation de ton clavier ? (a coté de la touche A) qui sert a mettre "un gros espace", c'est ça une tabulation.
      0
    3. manelz Messages postés 40 Statut Membre
       
      ok merci :)
      0
    4. manelz Messages postés 40 Statut Membre
       
      stp pour le makefile je l'ecris tel qu'il est ou je remplace le "KVERSION " par la version de OS installée
      0
    5. liquidus88 Messages postés 674 Statut Membre 116
       
      Non, KVERSION est une variable qui va se charger de faire ça automatiquement, afin d'éviter tous bugs, laisse tel quel.
      0
  2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Peux-tu mettre tes sources dans une archive (par exemple un fichier tgz) et la mettre en partage par exemple sur rapidshare pour qu'on puisse voir ce qui cloche ?
    0
    1. manelz Messages postés 40 Statut Membre
       
      comment la mettre en paratge sur rapidshare
      0
    2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
       
      Tu cliques sur le bouton upload -_-
      0
    3. jojo
       
      A mon vis il faut que tu envoie le lie par MP car ce genre de service se n'est pas trop bien vue sur ce genre de site.
      0
    4. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
       
      Il y en a plein d'autres qui passent à mon avis (cijoint etc...) et non je pense que ça ne pose pas de problème.
      0
    5. manelz Messages postés 40 Statut Membre
       
      j'ai déjà mis le programme et le makefile SVP esaayez les chez toi :) et merci
      le prog
      #include <linux/module.h>
      #include <linux/kernel.h>
      int init_module(void)
      {

      printk(KERN_INFO "Hello world 1.\n");
      /*
      * * A non 0 return means init_module failed; module can't be loaded.
      * */
      return 0;
      }
      void cleanup_module(void)
      {
      printk(KERN_INFO "Goodbye world 1.\n");
      }
      2======> le makefile
      obj-m = hello.o
      KVERSION = $(shell uname -r)
      all:
      make -C /lib/modules/$(KVERSION)/build M=$(PWD) modules
      clean:
      make -C /lib/modules/$(KVERSION)/build M=$(PWD) clean
      0