depmod - システム管理コマンドの説明 - Linux コマンド集 一覧表
名前
depmod \(em 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 は このディレクトリにさまざまなマップファイルも出力する。 ホットプラグ機構で使うためである。
オプション
対象となるモジュールが現在は (通常の) ディレクトリ
/lib/modules/
version
ではなく、
準備用のディレクトリに置かれている場合、
ディレクトリ名の前に付く basedir
を指定することができる。
この basedir
は生成される modules.dep
ファイルでは
取り除かれており、そのため、いつでも通常の場所に移動させることができる。
このオプションが
-F
オプションと組み合わされると、
モジュールが必要としているが
他のモジュールやカーネルが提供していないシンボルを通知する。
通常、モジュールが提供していないシンボルは
カーネルが提供するものと見なせる (完璧な世界では当然だ) 。
カーネルがビルドされたときに生成された System.map
を指定する。
このオプションを使うと、
-e
オプションで未解決のシンボルを通知することができる。
このオプションは生成される modules.dep とさまざまなマップファイルを、
モジュールディレクトリに書き出すのではなく、標準出力に送る。
このオプションを使うと、
処理を行なう前に各モジュールが 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)