書式
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.