フレームグラバーに対応するサードパーティのモジュールがあります。カーネルソースをダウンロードし、ベンダーの指示に従ってコンパイルし、結果のモジュールarvdrv.koをフォルダーに配置しました。
ベンダーは、モジュールをカーネルにロードするスクリプトを提供しており、実行すると動作します。モジュールはロードされますが、次のブートまでしかロードされません。スクリプトはmodprobeを使用しません。モジュールをインストールすると、フレームグラバーにアクセスできます。
Modprobeは多くのモジュールのリストを保持しているように見えます。/etc/modulesを編集してモジュール名を追加すると、ブート時にロードされますが、モジュールarvdrvはmodprobeのリストにありません。
私の質問はmodprobeにモジュールを知らせる方法ですか?新しい場所にコピーする必要がありますか?
Sudo
を使用:
/etc/modules
ファイルを編集し、モジュールの名前(.ko
拡張子なし)を独自の行に追加します。ブート時に、カーネルはこのファイルで指定されたすべてのモジュールをロードしようとします。
モジュールを/lib/modules/`uname -r`/kernel/drivers
の適切なフォルダーにコピーします。私の場合、これは/lib/modules/`uname -r`/kernel/drivers/pci
でした。これにより、モジュールがmodprobeのデータベースに配置されます。これがリンクになるかどうかはわかりません。
depmod
を実行します。これにより、モジュールのすべての依存関係が検索されます。
この時点で、リブートし、lsmod | grep module-name
を実行して、ブート時にモジュールがロードされたことを確認しました。
詳細については、modprobe、lsmod、およびdepmodのマニュアルページを参照してください。