Linux kernel 模块 hello 测试
2024-09-05 07:12:27
原文链接:https://www.cnblogs.com/nerohwang/p/3621316.html
hello.c 文件:
#include <linux/kernel.h> /*Needed by all modules*/
#include <linux/module.h> /*Needed for KERN_* */
#include <linux/init.h> /* Needed for the macros */ MODULE_LICENSE("GPL"); static int year=; static int hello_init(void)
{
printk(KERN_WARNING "Hello kernel, it's %d!\n",year);
return ;
} static void hello_exit(void)
{
printk("Bye, kernel!\n");
} /* main module function*/
module_init(hello_init);
module_exit(hello_exit);
Makefile文件:
obj-m := hello.o all :
$(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules clean:
$(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
测试结果:
[root@controller test]# make CONFIG_STACK_VALIDATION=
make -C /lib/modules/3.10.-.el7.x86_64/build M=/root/test modules
make[]: Entering directory `/usr/src/kernels/3.10.-.el7.x86_64'
CC [M] /root/test/hello.o
Building modules, stage .
MODPOST modules
CC /root/test/hello.mod.o
LD [M] /root/test/hello.ko
make[]: Leaving directory `/usr/src/kernels/3.10.-.el7.x86_64'
查看编译后文件:
[root@controller test]# ll
total
-rw-r--r-- root root Nov : hello.c
-rw-r--r-- root root Nov : hello.ko
-rw-r--r-- root root Nov : hello.mod.c
-rw-r--r-- root root Nov : hello.mod.o
-rw-r--r-- root root Nov : hello.o
-rw-r--r-- root root Nov : Makefile
-rw-r--r-- root root Nov : modules.order
-rw-r--r-- root root Nov : Module.symvers
最新文章
- 10月24日下午PHP封装
- ✡ leetcode 169. Majority Element 求出现次数最多的数 --------- java
- 兼容IE,Firefox,Opera等浏览器的添加到收藏夹js代码实现
- iOS Instruments内存检测使用
- jwplayer去Logo、自定义公司信息、限制拖动
- “_In_opt_z_”: 未声明的标识符
- JUnit4在Eclipse中的使用
- 如何开发webpack plugin
- Java 多线程 - Synchronized关键字
- Codechef CNTL Counting is life 生成函数
- 【转】python模块分析之typing(三)
- Python 模块collections
- Eclipse导入jdk的源码
- Shell中while循环的done 后接一个重定向<;
- python day 07-数据类型补充,集合,深浅拷贝
- HttpClient 通信工具类
- 从本机IIS中管理 远程服务器 IIS
- js 注意点
- JavaScript父子页面之间的相互调用
- IIs8 svc