web-dev-qa-db-ja.com

カーネルモジュールパラメーターを追加する方法

Ubuntu 11.04でカーネルモジュールパラメーターを追加する方法

/etc/moduleファイルを使用できますか?はいの場合、どのように?

19
waterloo2005

/etc/modules/etc/init/module-init-tools.confによってロードされているようです。最初の引数はモジュール名で、他の引数はパラメーターです。次を/etc/modulesに追加すると問題ないようです:

thinkpad_acpi fan_control=1

ブートの非常に早い段階でこのモジュールをロードしてこれらのパラメーターを設定するには、前の行を/etc/initramfs-tools/modulesファイルに追加します。そのファイルを変更した後、ramdiskを再生成する必要があります。

Sudo update-initramfs -u

可能な代替として、カーネル行にオプションを追加しようとすることができます(私はそれを自分でテストしていませんが、i915.modeset=1のような設定で機能するようです。/etc/default/grubを編集し、 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"。次のようなものに置き換えます。

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash thinkpad_acpi.fan_control=1"

カーネルモジュールのオプションのリストを取得するには:

modinfo -p thinkpad_acpi

これはi915では機能しませんでした。

modinfo i915 | grep ^parm

モジュールパラメータの現在の値を取得するには、次を実行します。

Sudo cat /sys/module/MODULE/parameters/PARAM

fan_controlモジュールのthinkpad_acpiパラメーターについては、次を実行する必要があります。

Sudo cat /sys/module/thinkpad_acpi/parameters/fan_control

この関数がエラーを返す場合、モジュールがロードされたかどうか、およびオプションが存在するかどうかを確認してください。

17
Lekensteyn

/etc/modprobe.d/内のファイルを使用したモジュールオプションの設定

/etc/modprobe.d/ディレクトリ内のファイルを使用して、モジュール設定をudevに渡すことができます。udevは、modprobeを使用してシステム起動中のモジュールのロードを管理します。このディレクトリ内の構成ファイルは、.conf拡張子で終わることを前提に、任意の名前を付けることができます。構文は次のとおりです。

/etc/modprobe.d/myfilename.conf
---------------------------------------------------------
options modname parametername=parametervalue

例えば:

/etc/modprobe.d/thinkfan.conf
---------------------------------------------------------
# On ThinkPads, this lets the 'thinkfan' daemon control fan speed
options thinkpad_acpi fan_control=1

ソース: カーネルモジュール-ArchWiki


私の知る限り、起動時に自動的にロードされるモジュール(前述の方法は、ドライバーモジュールの場合のように、特別なパラメーターを使用してモジュールのアンロードと再ロードを回避するため)と/etc/modulesブート時に自動的にロードされないモジュールのファイル。

9
user2366867

Ubuntu 16.04では、/etc/modulesにカーネルモジュールパラメーターを含めることができなくなりました。 「my_kernel_mod myparam = x」が見つからないというエラーがブートログに生成されます。

代わりに、カーネルモジュール名のみを/etc/modulesに配置し、オプションを/etc/modprobe.d/myfilename.confに配置する必要があります(提案どおり 上記 )。

6
Pierz