Linux内核模块动态添加方法
来源:互联网 发布:网络电视机的好处 编辑:程序博客网 时间:2024/05/16 01:26
Linux内核模块动态添加方法
今天下午通过一番折腾,终于琢磨除了Linux内核模块的动态加载方法,网上大部分教程基于旧版本做的,有很多地方不一样,走了很多弯路,不过最后终于成功了,方法如下:
1、建立C++源文件,假设文件目录为path,文件名为hello.c源代码如下:
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
static int hello_init(void)
{
printk(KERN_ALERT “Hello World!/n”);
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT “Bye World!/n”);
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_LICENSE(“GPL”);
MODULE_AUTHOR(“WFJ”);
注意:这里的头文件需要根据系统内核的具体情况来使用,不是所有版本都用一样的头文件,一开始我的编译错误就是因为头文件使用不当产生的。
2、写Makefile,内容如下:
obj-m := hello.o
KERNELBUILD :=/usr/src/linux-headers-3.2.0-24-generic-pae
default:
make -C
clean:
rm -rf *.o *.ko *.mod.c .*.cmd .tmp_versions *.order *.symvers
这里,KERNELBUILD后面的路径也用根据你自己系统的情况决定,基本是/usc/src/your_kernel_name
3、编译源文件,直接make就可以,Makefile里的default已经给出了编译规则,clean的规则也给出了,可以自行修改。
4、加载模块 insmod hello.ko
5、观察是否成功 dmesg可以看到系统的内核模块信息。
6.卸载模块 rmmod hello.ko
By Air_Fighter
2012.07.20
- Linux内核模块动态添加方法
- linux 添加内核模块
- Linux内核模块添加的两种方法
- Linux: 添加内核模块步骤
- linux中添加内核模块
- linux内核动态加载模块
- linux内核动态加载模块
- linux内核动态加载模块
- Linux动态加载内核模块
- linux内核模块编写方法
- 【内核】Linux添加系统调用(静态,非动态加载模块)
- 【内核】Linux添加系统调用(静态,非动态加载模块)
- linux内核添加新的模块
- 如何在LINUX内核中添加模块
- Linux内核中添加hello_world模块
- linux ubuntu编写内核模块并添加
- Linux 驱动开发内核模块的添加
- linux 添加内核模块和应用程序
- PAT 乙级 1032. 挖掘机技术哪家强(20)
- Laravel 5.4 如何定义API Routes
- C语言中交换两个数的方法
- SAP是ECC6.0但是不确定是EHP6还是EHP7,怎么看
- tensorflow自定义网络层、激活函数(self-defined layer)
- Linux内核模块动态添加方法
- hihoCoder 1062 : 最近公共祖先·一(map、set 运用)
- 伪元素使用详解(超详细版)
- 管理网站文件的首选当然是ftp
- 导数的几何意义
- 1008. 数组元素循环右移问题
- php 向指定url 发送 post数据 (http)
- LeetCode 539. Minimum Time Difference
- Serverless架构模式简介