Linux内核模块编译

心已入冬 提交于 2020-01-29 10:47:51

1.查看当前版本: uname -r

2.编写内核模块

 1 #include<linux/init.h>
 2 #include<linux/module.h>
 3 #include<linux/kernel.h>
 4 MODULE_LICENSE("GPL);
 5 MODULE_AUTHOR("xiaomiao");
 6 static int __init hello_init(void)
 7 {
 8     printk(KERN_ALERT "(init)Hello,World!\n");
 9     return 0;
10 }
11 static void __exit heelo_exit(void)
12 {
13     printk(KERN_ALERT "(exit)Hello,World!\n");
14 }
15 module_init(hello_init);
16 module_exit(hello_exit);

3.编写Makefile文件

1 ifneq ($(KERNELRELEASE),)
2     obj-m := ModuleHelloWorld.o
3 else
4     KERNLDIR ?= /lib/modules/$(shell uname -r)/build
5     PWD := $(shell pwd)
6 default:
7     $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
8 endif

4.然后在命令行中,执行make命令,生成.ko文件

5.安装模块(此命令的执行必须在root下执行)

命令:insmod ModuleHelloWorld.ko

6.查看模块

命令:dmesg -c

7.卸载模块

命令:rmmod ModuleHelloWorld.ko

会发现退出

转载:

http://www.cnblogs.com/sxmcACM/p/4501685.html

请注明出处!---By SuperDemon

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!