DEPMOD(8) | depmod | DEPMOD(8) |
名前¶
depmod - modules.dep とマップファイルを生成する
書式¶
depmod [-b basedir] [-e] [-E Module.symvers] [-F System.map] [-n] [-v] [-A] [-P prefix] [-w] [version]
depmod [-e] [-E Module.symvers] [-F System.map] [-n] [-v] [-P prefix] [-w] [version] [filename...]
説明¶
Linux のカーネルモジュールは、(「シンボル」と呼ばれる) サービスを (コード中で EXPORT_SYMBOL バリアントの 1 つを使用して) ほかのモジュールが使えるように提供することができます。 あるモジュールがそうしたシンボルを使用している場合、 そのモジュールがシンボルを提供する側のモジュールに依存していることは明白です。 こうした依存関係は、かなり複雑になることがあります。
depmod は、/lib/modules/version 以下にある各モジュールを読み込み、 それがどんなシンボルをエクスポートし、どんなシンボルを必要としているかを特定して、 モジュールの依存関係のリストを作成します。デフォルトでは、このリストは、 上記ディレクトリに置かれる modules.dep と、それをバイナリハッシュ化した modules.dep.bin という名前のファイルに書き込まれます。 なお、ファイル名をコマンドラインで指定した場合は、そうしたモジュールのみが調べられます (すべてのモジュールを指定しないかぎり、これが役に立つことはめったにありません)。 depmod はまた、モジュールが提供するシンボルのリストを作成し、modules.symbols というファイルと、そのバイナリハッシュ版の modules.symbols.bin に書き込みます。最後に、depmod は、モジュールがスペシャルデバイス名を供給している場合は、modules.devname という名前のファイルを出力します。そうしたスペシャルデバイス名は、普通ブート時に (systemd-tmpfiles のようなユーティリティによって) /dev ディレクトリに配置されます。
引数に version を指定した場合は、現在稼働中のカーネルバージョン (uname -r で返ってくるもの) ではなく、指定したカーネルバージョンのモジュールディレクトリが使用されます。
オプション¶
-a, --all
-A, --quick
-b basedir, --basedir basedir
-C, --config file or directory
-e, --errsyms
-E, --symvers Module.symvers
-F, --filesyms System.map
-h, --help
-n, --show, --dry-run
-P
-v, --verbose
-V, --version
-w
著作権¶
このマニュアルページの最初の版は、"Copyright 2002, Rusty Russell, IBM Corporation" でした。現在では、"Copyright Jon Masters, and others" の部分もあります。
関連項目¶
著者¶
Jon Masters <jcm@jonmasters.org>
Robby Workman <rworkman@slackware.com>
Lucas De Marchi <lucas.de.marchi@gmail.com>
2021/01/29 | kmod |