web-dev-qa-db-ja.com

起動時にロードされるようにサードパーティのモジュールをインストールする方法は?

フレームグラバーに対応するサードパーティのモジュールがあります。カーネルソースをダウンロードし、ベンダーの指示に従ってコンパイルし、結果のモジュールarvdrv.koをフォルダーに配置しました。

ベンダーは、モジュールをカーネルにロードするスクリプトを提供しており、実行すると動作します。モジュールはロードされますが、次のブートまでしかロードされません。スクリプトはmodprobeを使用しません。モジュールをインストールすると、フレームグラバーにアクセスできます。

Modprobeは多くのモジュールのリストを保持しているように見えます。/etc/modulesを編集してモジュール名を追加すると、ブート時にロードされますが、モジュールarvdrvはmodprobeのリストにありません。

私の質問はmodprobeにモジュールを知らせる方法ですか?新しい場所にコピーする必要がありますか?

23
Nate Lockwood

Sudoを使用:

  1. /etc/modulesファイルを編集し、モジュールの名前(.ko拡張子なし)を独自の行に追加します。ブート時に、カーネルはこのファイルで指定されたすべてのモジュールをロードしようとします。

  2. モジュールを/lib/modules/`uname -r`/kernel/driversの適切なフォルダーにコピーします。私の場合、これは/lib/modules/`uname -r`/kernel/drivers/pciでした。これにより、モジュールがmodprobeのデータベースに配置されます。これがリンクになるかどうかはわかりません。

  3. depmodを実行します。これにより、モジュールのすべての依存関係が検索されます。

  4. この時点で、リブートし、lsmod | grep module-nameを実行して、ブート時にモジュールがロードされたことを確認しました。

詳細については、modprobelsmod、およびdepmodのマニュアルページを参照してください。

31
Nate Lockwood