Compilation module sur noyau

manelz Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   -  
manelz Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   -
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

mamiemando Messages postés 33766 Date d'inscription   Statut Modérateur Dernière intervention   7 878
 
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
manelz Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
ça veut dire quoi mettre un caractère de tabulation devant "make -C..."
0
liquidus88 Messages postés 655 Date d'inscription   Statut Membre Dernière intervention  
 
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
manelz Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
ok merci :)
0
manelz Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
stp pour le makefile je l'ecris tel qu'il est ou je remplace le "KVERSION " par la version de OS installée
0
liquidus88 Messages postés 655 Date d'inscription   Statut Membre Dernière intervention  
 
Non, KVERSION est une variable qui va se charger de faire ça automatiquement, afin d'éviter tous bugs, laisse tel quel.
0
mamiemando Messages postés 33766 Date d'inscription   Statut Modérateur Dernière intervention   7 878
 
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
manelz Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
comment la mettre en paratge sur rapidshare
0
mamiemando Messages postés 33766 Date d'inscription   Statut Modérateur Dernière intervention   7 878
 
Tu cliques sur le bouton upload -_-
0
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
mamiemando Messages postés 33766 Date d'inscription   Statut Modérateur Dernière intervention   7 878
 
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
manelz Messages postés 23 Date d'inscription   Statut Membre Dernière intervention  
 
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