Linuxカーネルは、Linuxオペレーティングシステムのコアコンポーネントです。 Linuxカーネルは、機能の面で拡張できるモジュラー設計になっています。 モジュールは、コンピューターを再起動せずにカーネルによってロードおよびアンロードできる小さなコードです。 カーネルモジュールは、手動または自動でロード/削除できます。
USBやPCIなどの新しいデバイスが接続/削除されると、カーネルはueventを送信します。 ueventsには、ベンダーやモデルの詳細など、デバイスに関する情報が含まれています。 Udev(デバイスマネージャー)はこのueventをリッスンし、modprobeに渡します。 Modprobe モジュールディレクトリ/ lib / modules /の下を検索することにより、要求されたドライバをインテリジェントに識別します。uname -r
モジュールファイルをカーネルにロードします。 モジュールが正常にロードされると、lsmodコマンドのリストに表示されます。 さらに、modprobeは、カーネルからロード可能なモジュールを手動で追加または削除するために使用されます。
Modprobeはkmodパッケージの一部として配布されます。 このチュートリアルでは、使用方法を学びます modprobeコマンド Linuxカーネルにモジュールを追加および削除します。
modprobeコマンドの構文
modprobeコマンドの構文を確認してみましょう。
$ sudo modprobe [options] [Module Name]
カーネルモジュールを追加するmodprobeコマンド
カーネルモジュールは、次の場所にあるサブディレクトリにあります。 /lib/modules/$(uname -r)
。 コマンド uname -r
現在のカーネルバージョンを判別するために使用できます。
モジュールのmodprobeを追加する場合インテリジェントinsmodのはそれを行っていないモジュールの依存関係を確認してください。 ファイル/ libに/モジュール/ $(のuname -r)/modules.depとモジュール名の参照に記載された依存関係はで指定されています /etc/modules
ファイル。
カーネルモジュールにあるディレクトリを一覧表示するには、次のように入力します。
$ ls /lib/modules/$(uname -r)
ディレクトリ内のすべてのデバイスドライバを見つけることができます /lib/modules/$(uname -r)/kernel/drivers/
。
通常、カーネルモジュールファイルには .ko
拡張機能。 あなたはすべてをリストすることができます .ko
ファイル:
$ find /lib/modules/$(uname -r) -type f -name *.ko*
あなたは、モジュール名と一緒にmodprobeコマンドを使用して、Linuxカーネルにモジュールを追加することができます。
$ sudo modprobe img_i2s_in
追加すると、現在ロードされているカーネルモジュールを一覧表示するlsmodコマンドで確認できます。
$ sudo lsmod | grep img_i2s_in
出力:
img_i2s_in 16384 0
カーネルモジュールを削除するmodprobeコマンド
モジュールを削除するには、モジュール名とともに-rオプションを指定してmodprobeコマンドを使用します。
にとって example、という名前のモジュールを削除します img_i2s_in
、 タイプ:
$ sudo modprobe -r img_i2s_in
modprobeオプション
modprobeコマンドにはいくつかのオプションがあり、それらはユースケースに基づいて3つのカテゴリに分類されています。
管理オプション
モジュールを追加または削除するにはmodprobeコマンドを使用する場合は、管理パラメータは、複数のモジュールの取り扱いのシナリオを有効にします。
オプション | 説明 |
-a -全て | 一度に複数のモジュールを削除または追加する |
– 削除する -r | モジュールを削除します。–remove-dependenciesにも適用されます |
–remove-dependencies | 依存関係モジュールを削除する |
–resolve-alias -R | エイリアスに一致する名前を特定して印刷します |
– 初めて | 追加または削除されたモジュールの印刷エラー |
–ignore-install -無視-削除 -私 | モジュールを挿入または削除するときに、モジュールに書き込まれたインストールまたは削除コマンドを無視します |
–use-ブラックリスト -b | ブラックリストで解決されたエイリアス |
– 力 -f | バージョンエラーが表示されたら、モジュールの追加または削除を強制します。 これは、-force-modversionと–force-vermagicの両方に適用されます。 |
–force-modversion | モジュールの追加または削除時にモジュールバージョンを無視します。 |
–force-vermagic | モジュールの追加または削除時にモジュールバージョンの魔法を無視します。 |
modprobeコマンドの管理オプション
クエリオプション
modprobeコマンドのqueryオプションは、構成と依存関係に関する情報を提供します。
オプション | 説明 |
–show-depends -D | 依存関係ファイルを持つモジュールがある場合は、そのモジュールが表示されます |
–showconfig –show-config -c | 現在の構成を表示して終了します |
–show-modversions –dump-modversions | モジュールバージョンの依存関係を表示する |
modprobeコマンドのクエリオプション
一般的なオプション
modprobeコマンドの一般的なオプションは、出力オプション、モジュールの場所、およびバージョンを構成します。
オプション | 説明 |
-ドライラン – 見せる -n | 出力を印刷しますが、何も追加または削除しないでください。 |
–config =[Filename] -C | デフォルトの構成依存関係、つまり/etc/modprobe.dを [Filename] |
–dirname =[Directory] -d | / lib / modulesの使用 [Directory] ファイルシステムルートとして |
–set-version =[version] -S | 指定されたカーネルの代わりに uname 、 使用 [version] カーネル |
–syslog -s | Syslogを介してエラーメッセージを表示します |
– 静かな -q | エラーメッセージを表示しない |
-詳細 -v | より多くのメッセージを表示できるようにします |
– バージョン -V | の表示バージョン modprobe |
– ヘルプ -h | コマンドとともにヘルプメッセージを表示する |
modprobeコマンドの一般オプション
結論
このチュートリアルでは、Linuxカーネルからモジュールを追加または削除するにはmodprobeコマンドについて学びました。
読んでくれてありがとう、あなたのフィードバックと提案を提供してください。