将参数传递给内核模块

时间:2012-06-14 14:20:46

标签: linux linux-kernel parameter-passing kernel-module

我有一些使用名为foo.ko的内核模块的自定义硬件。这必须是来自Linux内核的insmod

在insmod期间是否有办法将参数传递给内核模块,如:

insmod foo.ko <parameter>

2 个答案:

答案 0 :(得分:4)

将参数命名为:

insmod foo.ko mystring="bebop" mybyte=255 

From Passing Command Line Arguments to a Module : The Linux Kernel Module Programming Guide

答案 1 :(得分:4)

您可以通过以下方式在加载时设置任何所需参数:

insmod param_name=param_value

并以这种方式在源代码中设置它:

module_param(param_name, param_type, permission);

支持的param类型:

int -> integer value
charp -> character pointer
....

权限是S_IRUGO之类的掩码,您可能需要检查moduleparam.h