linux user/kernel 参数的传递和修改

内核的驱动以两种方式存在,那么传给内核的参数该如何弄呢?

1. 内核以驱动方式存在的,在insmod ko文件的时候,跟在命令后面给出参数,比如:

    insmod hello_world.ko parameter1=50 parameter2='welcome'

    但是parameter1和parameter2必须在内核已经做了登记,需要调用接口:

    module_param,比如:

        MODULE_PARM_DESC(parameter1, " just for debug")

        module_param(parameter1, int, 0644);

    也可以通过module_param_array(para , type , &n_para , perm) 来一个para数组,perm是指定了权限

    perm 指定了在sysfs中相应文件的访问权限。访问权限与linux文件访问权限相同的方式管理,如0644,或使用stat.h中的宏如S_IRUGO表示。
            0    表示完全关闭在sysfs中相对应的项。
            #define S_IRUSR    00400 文件所有者可读
            #define S_IWUSR    00200 文件所有者可写
            #define S_IXUSR    00100 文件所有者可执行
            #define S_IRGRP    00040 与文件所有者同组的用户可读
            #define S_IWGRP    00020
            #define S_IXGRP    00010
            #define S_IROTH    00004 与文件所有者不同组的用户可读
            #define S_IWOTH    00002
            #define S_IXOTH    00001

2. 内核以image方式存在的,会在/sys/module/parameters/下有对应的文件,直接用cat 修改后,kernel/user空间都会看到这个值也跟这变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值