linux内核模块

来源:互联网 发布:mac windows f1 编辑:程序博客网 时间:2024/06/05 18:49
1、insmod xxx.ko 加载模块
2、rmmod xxx.ko 卸载模块
3、lsmod 获得系统中加载的所有模块及模块间的依赖关系
4、modprode xxx.ko 加载模块时,会同时加载该模块所依赖的其他模块
5、modprobe -r xxx  卸载模块,并同时卸载其他依赖的模块
6、modinfo xxx  获取模块的信息


1、模块的加载函数
static int __init init_function(void)
{
//初始化代码
}
module_init(init_function);


2、模块卸载函数
static void __exit cleanup_function(void)
{
//释放代码
}
module_exit(cleanup_function);


3、模块参数
static int num=100;
module_param(num,int,S_IRUGO);
装载模块时传递参数方法:insmod xxx.ko num=参数值


传递数组:module_param_array(数组名,数组类型,数组长度,参数读/写权限)


4、导出符号
EXPORT_SYMBOL(符号名);
EXPORT_SYMBOL_GPL(符号名);


5、模块的声明与描述
MODULE_AUTHOR(author);//作者声明
MODULE_DESCRIPTION(decription);
MODULE_VERSION(version_string);
MODULE_DEVICE_TABLE(table_info);
MODULE_ALIAS(alternate_name);//模块的别名


6、模块的编译Makefile
KVERS=$(shell uname -r)


obj-m+=hello.o
hello-objs:=file1.o file2.o


build:kernel_modules


kernel_modules:
make -C /lib/modules/$(KVERS)/build M=$(CURDIR) modules

clean:
make -C /lib/modules/$(KVERS)/build M=$(CURDIR) clean
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 联想电脑开不了机怎么办 ipad来不了机怎么办 深圳车牌租用怎么办的 电脑连wiwf老掉线怎么办 电脑要设置密码怎么办 苹果笔记本电脑忘记密码怎么办 换了外屏有缝隙怎么办 苹果7屏幕松动怎么办 平板电脑屏幕一直闪怎么办 平板电脑屏幕模糊了怎么办 平板电脑模糊怎么办啊 苹果没有声音了怎么办 微信视频回声怎么办 苹果手机总卡机不动怎么办 苹果手机不掉电怎么办 iphonex屏幕漏液怎么办 苹果6sp充不进电怎么办 iphone6充电越少怎么办 苹果6不能充电怎么办 脸部苹果肌很大怎么办 液晶屏上有划痕怎么办 苹果手机屏幕翘起来怎么办? iphone5s翘屏了怎么办 lpad触屏失灵怎么办 平板一直重启怎么办 苹果平板老死机怎么办 华为屏幕反应慢怎么办 平板屏幕没反应怎么办 iPadmini3触屏了怎么办 联想电脑触摸屏没反应怎么办 电脑触摸屏没反应怎么办 换屏后屏幕乱跳怎么办 联想平板进不去系统怎么办 平板触摸屏坏了怎么办 苹果6触摸不灵敏怎么办 5s home失灵怎么办? 平板触控失灵怎么办 ipad触摸屏坏了怎么办 ipad屏幕颠倒了怎么办 ipad电池坏了怎么办 手机碎屏使屏幕失灵怎么办