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


24

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

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

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

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


「正しい」方法を見つけた後に私が抱えていた問題は、ベンダーが追加の初期化スクリプトを含めるのを忘れていたため、ドライバーが起動時にロードされたが失敗したことでした。
ネイトロックウッド

ここでは自動起動せずに外の木モジュールのインストール手順の概要は、インストール部分です:stackoverflow.com/questions/22783793/...
チロSantilli新疆改造中心法轮功六四事件

回答:


32

を使用して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のマニュアルページを参照してください。


3
私はあなたの指示に従いましたが、ベンダーがデバッグされたコードを提供するまで何も機能しませんでした!!! あなたの答えは簡単で完全で、ベンダーのエラーがなければうまくいくと思います。はい、受け入れます。
ネイトロックウッド14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.