我是内核编程的新手。当我正在经历module_param
,我对权限值 0 感到困惑。有人解释说它不会在 sysfs 中获得条目,而其他人则喜欢S_IRUGO
将获得一个条目。我无法理解这个概念。
perm 值 0 表示什么?
我们什么时候需要 sysfs 条目?有什么必要呢?
请指导我。提前致谢。
您可以通过某些方式将参数模块化到内核模块。假设有一个内核模块foo
带有一个名为bar
:
- 使用引导加载程序配置中提供的内核命令行。要查看当前启动的命令行,请运行
cat /proc/cmdline
。输出示例:BOOT_IMAGE=/vmlinuz root=/dev/sda1 foo.bar=some-value
- 使用加载内核模块时
insmod
or modprobe
: modprobe foo bar=some-value
.
- 当模块加载时,通常可以看到找到参数
bar
对于模块foo
at /sys/module/foo/parameters/bar
.
权限值为0
阻止创建 sysfs 条目(上面第三个项目)。内核代码中的一个示例用法是允许启用调试,而无需在 sysfs 中公开此参数。
可读/可写模块参数的示例是acpi
。它允许您动态设置应该生成的调试信息。可用为acpi.debug_level
对于内核命令行或作为/sys/module/acpi/parameters/debug_level
sysfs 条目。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)