depmod(8)

名前
depmod — modules.dep とマップファイルを生成するプログラム

書式

depmod [-b basedir] [-e] [-F System.map] [-n] [-v] [version] [-A ]

depmod [-e] [-FSystem.map] [-n] [-v] [version] [filename ...]

このマニュアルについて

これは、module-init-tools パッケージに所属するユーティリティのマニュアルです。module-init-tools は、現在では kmod パッケージに引き継がれているので、kmod パッケージの同名のユーティリティのマニュアルをご覧になることをお勧めします。 (2022/12/02, Linux JM Project)

説明

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)