【发布时间】:2018-07-04 04:55:15
【问题描述】:
我有一些使用名为foo.ko 的内核模块的定制硬件。这必须是来自 Linux 内核的 insmod。
有没有办法在insmod期间向内核模块传递参数,比如:
insmod foo.ko <parameter>
?
【问题讨论】:
标签: linux linux-kernel parameter-passing kernel-module
我有一些使用名为foo.ko 的内核模块的定制硬件。这必须是来自 Linux 内核的 insmod。
有没有办法在insmod期间向内核模块传递参数,比如:
insmod foo.ko <parameter>
?
【问题讨论】:
标签: linux linux-kernel parameter-passing kernel-module
像这样命名参数:
insmod foo.ko mystring="bebop" mybyte=255
From Passing Command Line Arguments to a Module : The Linux Kernel Module Programming Guide
【讨论】:
您可以通过这种方式在加载时设置任何需要的参数:
insmod param_name=param_value
并以这种方式在您的源代码中设置它:
module_param(param_name, param_type, permission);
支持的参数类型:
int -> integer value
charp -> character pointer
....
权限是S_IRUGO之类的掩码,您可能需要检查moduleparam.h。
【讨论】: