内核模块参数设置
内核模块参数设置
通过宏 module_param 来指定模块参数,模块参数用于在加载模块时传递参数给内核模块.
定义如下 module_param(name,type,perm)
name 是模块参数的名称.
type 是这个参数的类型.
perm 是模块参数的访问权限
type常见值
bool布尔 int整型 charp字符串型
perm常见值
S_IRUGO:任何用户都对/sys/module中出现的该参数具有读权限
S_IWUSR:允许root用户修改/sys/module中出现的该参数
例子
#include <linux/module.h> #include <linux/init.h> MODULE_LICENSE("GPL"); static char *name = "Fengzhihao"; static int age = 28; module_param(age, int, S_IRUGO); module_param(name, charp, S_IRUGO); static int __init hello_init() { printk(KERN_EMERG" Name : %s\n",name); printk(KERN_EMERG" Age : %d\n",age); return 0; } static int __exit hello_exit() { printk(KERN_INFO"Module Exit!\n"); } module_init( hello_init); module_exit( hello_exit);
假如此模块的名字为 param.ko
加载模块并给模块内传输数值
insmod param.ko age=40 name=caonima