2013-01-16 23 views
2

我是內核編程的新手。當我通過module_param時,我被許可值0弄糊塗了。它解釋說它不會在sysfs中得到一個入口,而其他的像S_IRUGO會得到一個入口。我無法理解這個概念。模塊參數許可

perm值0表示什麼? 我們什麼時候需要一個sysfs條目?有什麼需要?

請親引導我。提前致謝。

回答

3

您可以以某種方式將模塊參數傳遞給內核模塊。假設一個內核模塊foo與命名bar參數:

  • 使用它可以在引導配置提供內核命令行。要查看當前引導的命令行,請運行cat /proc/cmdline。輸出示例:BOOT_IMAGE=/vmlinuz root=/dev/sda1 foo.bar=some-value
  • 加載內核模塊時使用insmodmodprobemodprobe foo bar=some-value
  • 加載模塊時,通常可以看到模塊foo的參數bar/sys/module/foo/parameters/bar處。

許可值0可防止創建sysfs條目(上面的第三個項目符號)。內核代碼中的示例用法是允許啓用調試,而不在sysfs中公開此參數。

可讀/可寫模塊參數的示例是acpi。它允許您動態設置應該生成的調試信息。可用於內核命令行的acpi.debug_level或作爲/sys/module/acpi/parameters/debug_level sysfs條目。