add taks 1
This commit is contained in:
parent
0a5ccf45a2
commit
81f6517ca7
3 changed files with 51 additions and 0 deletions
12
README.md
12
README.md
|
@ -24,3 +24,15 @@ Il suffit ensuite d'aller dans le dossier de votre choix et faire `make`.
|
|||
|
||||
L'Eudyptula challenge demande souvent des preuves de notre réussite. Vous
|
||||
pouvez retrouver les commandes et leur résultat ici.
|
||||
|
||||
### Tache 1
|
||||
|
||||
Pour montrer que mon module marche bien, on regarde les logs du kernel avec la
|
||||
commande `dmesg`.
|
||||
|
||||
```
|
||||
# après insmod hello.ko
|
||||
[102102.117958] Coucou le gens !!!!
|
||||
# après rmmod hello
|
||||
[102108.046104] Tschuss !!!
|
||||
```
|
||||
|
|
9
task_1/Makefile
Normal file
9
task_1/Makefile
Normal file
|
@ -0,0 +1,9 @@
|
|||
obj-m += hello1.o
|
||||
|
||||
PWD := $(CURDIR)
|
||||
|
||||
all:
|
||||
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
|
||||
|
||||
clean:
|
||||
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
|
30
task_1/hello.c
Normal file
30
task_1/hello.c
Normal file
|
@ -0,0 +1,30 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
static int __init my_init(void)
|
||||
{
|
||||
/*
|
||||
* c'est une macro récente qui permet de remplacer prink(KERN_INFO "coucou")
|
||||
*/
|
||||
pr_info("Coucou le gens !!!!\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void __exit my_exit(void)
|
||||
{
|
||||
pr_info("Tschuss !!!\n");
|
||||
}
|
||||
|
||||
/*
|
||||
* avant, on utilisait les fonctions int init_module(void) et
|
||||
* void cleanup_module(void) à la place des macros pour initialiser le module.
|
||||
*
|
||||
* la méthode la plus récente pour faire des modules est d'utiliser les macros
|
||||
* suivantes pour définir les fonctions d'initialisation et de sortie.
|
||||
*/
|
||||
module_init(my_init);
|
||||
module_exit(my_exit);
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_AUTHOR("rick <rick@gnous.eu>");
|
||||
MODULE_DESCRIPTION("Module de la premiere tache de l'Eudyptula challenge");
|
Loading…
Reference in a new issue