Compilation module sur noyau

Fermé
manelz Messages postés 23 Date d'inscription vendredi 20 avril 2012 Statut Membre Dernière intervention 29 novembre 2012 - 22 avril 2012 à 11:06
manelz Messages postés 23 Date d'inscription vendredi 20 avril 2012 Statut Membre Dernière intervention 29 novembre 2012 - 26 avril 2012 à 20:40
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 33378 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 25 novembre 2024 7 802
22 avril 2012 à 23:48
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 vendredi 20 avril 2012 Statut Membre Dernière intervention 29 novembre 2012
24 avril 2012 à 18:28
ça veut dire quoi mettre un caractère de tabulation devant "make -C..."
0
liquidus88 Messages postés 655 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 8 septembre 2012 116
24 avril 2012 à 20:37
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 vendredi 20 avril 2012 Statut Membre Dernière intervention 29 novembre 2012
24 avril 2012 à 22:17
ok merci :)
0
manelz Messages postés 23 Date d'inscription vendredi 20 avril 2012 Statut Membre Dernière intervention 29 novembre 2012
Modifié par manelz le 24/04/2012 à 22:21
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 dimanche 7 septembre 2008 Statut Membre Dernière intervention 8 septembre 2012 116
24 avril 2012 à 22:42
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 33378 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 25 novembre 2024 7 802
24 avril 2012 à 22:56
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 vendredi 20 avril 2012 Statut Membre Dernière intervention 29 novembre 2012
25 avril 2012 à 00:11
comment la mettre en paratge sur rapidshare
0
mamiemando Messages postés 33378 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 25 novembre 2024 7 802
25 avril 2012 à 00:43
Tu cliques sur le bouton upload -_-
0
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 33378 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 25 novembre 2024 7 802
25 avril 2012 à 20:26
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 vendredi 20 avril 2012 Statut Membre Dernière intervention 29 novembre 2012
25 avril 2012 à 22:53
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