我是内核编程的新手。当我经历module_param
时,我对权限值0感到困惑。有人解释说它不会在sysfs中获得一个条目,而其他像S_IRUGO
这样的条目会得到一个条目。我无法理解这个概念。
烫发值0表示什么? 我们什么时候需要sysfs条目?有什么需要呢?
请指导我。提前谢谢。
答案 0 :(得分:4)
您可以通过某种方式将模块参数传递给内核模块。假设内核模块foo
具有名为bar
的参数:
cat /proc/cmdline
。示例输出:BOOT_IMAGE=/vmlinuz root=/dev/sda1 foo.bar=some-value
insmod
或modprobe
加载内核模块时: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条目。