私はカーネルプログラミングが初めてです。を行っているときmodule_param
、permission の値が 0 であることに戸惑いました。sysfs ではエントリが取得されず、他のようなものはエントリが取得されると説明されましたS_IRUGO
。コンセプトが理解できませんでした。
パーマ値 0 は何を示していますか? sysfs エントリが必要になるのはいつですか? その必要性は何ですか?
よろしくお願いします。前もって感謝します。
私はカーネルプログラミングが初めてです。を行っているときmodule_param
、permission の値が 0 であることに戸惑いました。sysfs ではエントリが取得されず、他のようなものはエントリが取得されると説明されましたS_IRUGO
。コンセプトが理解できませんでした。
パーマ値 0 は何を示していますか? sysfs エントリが必要になるのはいつですか? その必要性は何ですか?
よろしくお願いします。前もって感謝します。
いくつかの方法でパラメーターをカーネル モジュールにモジュール化できます。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 エントリが作成されなくなります (上記の 3 番目の箇条書き)。カーネル コードでの使用例は、sysfs でこのパラメーターを公開せずにデバッグを有効にすることです。
読み書き可能なモジュール パラメータの例はacpi
. 生成するデバッグ情報を動的に設定できます。acpi.debug_level
カーネル コマンド ラインまたは/sys/module/acpi/parameters/debug_level
sysfs エントリとして使用できます。