depmod(8) | System Manager's Manual | depmod(8) |
名前¶
depmod — modules.dep とマップファイルを生成するプログラム
書式¶
depmod [-b basedir] [-e] [-F System.map] [-n] [-v] [version] [-A ]
depmod [-e] [-FSystem.map] [-n] [-v] [version] [filename ...]
説明¶
Linux カーネルモジュールは、 (「シンボル」と呼ばれる) サービスを (コード中で EXPORT_SYMBOL を使って) 他のモジュールが使えるように提供することができる。 後者のモジュールがこのシンボルを使う場合、 後者のモジュールは前者のモジュールに依存しているのは明らかである。 このような依存関係はかなり複雑になることがある。
depmod は、 /lib/modules/version 以下のモジュールをひとつひとつ読み込み、 各モジュールがどんなシンボルをエクスポートしているかや どんなシンボルを必要としているかを調べて、 モジュールの依存関係のリストを作る。 デフォルトでは、このリストは同じディレクトリの modules.dep に書かれる。 ファイル名がコマンドラインで与えられると、 それらのモジュールに限って調べられる (全てのモジュールが列挙されていない限り、これが役に立つことは滅多にない) 。
version が与えられると、 現在のカーネルバージョン ("uname -r" で返るもの) ではなく、 そのカーネルバージョンのモジュールディレクトリが使われる。
depmod は このディレクトリにさまざまなマップファイルも出力する。 ホットプラグ機構で使うためである。
オプション¶
- -b basedir --basedir basedir
- 対象となるモジュールが現在は (通常の) ディレクトリ /lib/modules/version ではなく、 準備用のディレクトリに置かれている場合、 ディレクトリ名の前に付く basedir を指定することができる。 この basedir は生成される modules.dep ファイルでは 取り除かれており、そのため、いつでも通常の場所に移動させることができる。
- -e --errsyms
- このオプションが -F オプションと組み合わされると、 モジュールが必要としているが 他のモジュールやカーネルが提供していないシンボルを通知する。 通常、モジュールが提供していないシンボルは カーネルが提供するものと見なせる (完璧な世界では当然だ) 。
- -F --filesyms System.map
- カーネルがビルドされたときに生成された System.map を指定する。 このオプションを使うと、 -e オプションで未解決のシンボルを通知することができる。
- -n --dry-run
- このオプションは生成される modules.dep とさまざまなマップファイルを、 モジュールディレクトリに書き出すのではなく、標準出力に送る。
- -A --quick
- このオプションを使うと、 処理を行なう前に各モジュールが modules.dep ファイルよりも 新しいかどうかを見て、 modules.dep のほうが新しければファイルを再生成せずに静かに終了する。
下位互換性¶
このバージョンの depmod は、 カーネル 2.5.48 およびそれ以降のためのものである。 古い形式のモジュールに対応したカーネルを検出するか、 指定されたバージョンが 2.5.48 よりも前の場合、 その場で depmod.old を実行しようとする。 そのため、ユーザは全く意識しなくてよい。
著作権¶
このマニュアルページの著作権表示は Copyright 2002, Rusty Russell, IBM Corporation.
関連項目¶
modprobe(8), modules.dep(5), depmod.old(8)