web-dev-qa-db-ja.com

起動時にカーネルモジュール(modprobe -f)を強制的にロードする方法は?

私のシステム(Debian 9)の起動時にカスタムカーネルモジュールをロードしたいと思います。このモジュールのvermagic文字列は私のカーネルバージョンと完全には一致しませんが、modprobe -f module_nameまたはinsmod -f /path/to/moduleを使用してロードでき、正常に動作しているようです。

モジュールの名前を/etc/modules-load.d/modules.confに追加しただけでは機能しません。systemctlは、systemd-modules-load.serviceがモジュールをロードしようとするとエラーになることを示しています。

Systemdにモジュールを強制的にロードするように指示できますか?

5
user335490

/etc/modprobe.dの構成ファイルを使用して、インストール動作を上書きできるはずです。たとえば、/etc/modprobe.d/module_name.conf

install module_name /sbin/modprobe -i -f module_name

これは、/sbin/modprobe -i -f module_nameのインストールが要求されたときにmodule_nameを実行するようにモジュールロードコードに指示します。 -iは、コマンドの処理時にmodprobeディレクティブを無視するようにinstallに指示します(そうしないと、ループが発生します)。

4
Stephen Kitt