模块参数权限

时间:2013-01-16 09:33:41

标签: module kernel kernel-module

我是内核编程的新手。当我经历module_param时,我对权限值0感到困惑。有人解释说它不会在sysfs中获得一个条目,而其他像S_IRUGO这样的条目会得到一个条目。我无法理解这个概念。

烫发值0表示什么? 我们什么时候需要sysfs条目?有什么需要呢?

请指导我。提前谢谢。

1 个答案:

答案 0 :(得分:4)

您可以通过某种方式将模块参数传递给内核模块。假设内核模块foo具有名为bar的参数:

  • 使用可在引导加载程序配置中提供的内核命令行。要查看当前引导的命令行,请运行cat /proc/cmdline。示例输出:BOOT_IMAGE=/vmlinuz root=/dev/sda1 foo.bar=some-value
  • 使用insmodmodprobe加载内核模块时:modprobe foo bar=some-value
  • 加载模块时,您通常可以在bar找到模块foo的参数/sys/module/foo/parameters/bar

权限值0会阻止创建sysfs条目(上面的第三个项目符号)。内核代码中的一个示例用法是允许启用调试而不在sysfs中公开此参数。

可读/可写模块参数的示例是acpi。它允许您动态设置应生成的调试信息。可用作内核命令行的acpi.debug_level/sys/module/acpi/parameters/debug_level sysfs条目。