Linuxコマンド辞典 depmodコマンド(カーネル)

modules.depとマップファイルを生成する「depmod」コマンドの概要と使い方を記載しています。

RHEL Fedora CentOS Vine Deblan Ubuntu Plamo

参考サイト:Man page of INSTALL

概要・使用方法

書式

$ depmod [オプション]

カーネルモジュールの「シンボル」をたどって依存関係をmodules.depに書き込みます。カーネルモジュールを利用する場合、モジュール同士の依存関係が発生します。例えば、あるモジュールAを組み込んで利用する際に、別のモジュールBが組み込まれていないと目的の動作を実現できないことがあります。この依存関係をファイルに書き出すことでmodprobeなどでモジュールの依存関係を考慮したカーネルモジュールの組込みが可能になります。また、ホットプラグで利用するマップファイルを作成します。

オプション

-a
–all
/etc/modules.confがある場合は、記述されているモジュールを検索する
-A
–quick
モジュールとmodules.depを比べて、modules.depのほうが新しい場合は終了する
-b ディレクトリ名
–basedir ディレクトリ名
モジュールディレクトリを指定する(デフォルトは/lib/modules/カーネルバージョン)
-C
–config
/etc/depmod.confか/etc/depmod.dで設定されている値を上書きするファイルを指定する
-e
–errsyms
モジュールごとに解決されていないシンボルを表示する
-F マップファイル名
–filesyms マップファイル名
カーネルが作られたときのSystem.mapを指定する
-n
–dry-run
依存関係ファイルを標準出力に出力する

カーネルモジュールの依存関係を解析する

$ depmod -n | lv

実行結果

[root@centos ~]# depmod -n|more
kernel/arch/x86/events/amd/power.ko.xz:
kernel/arch/x86/events/intel/intel-uncore.ko.xz:
kernel/arch/x86/events/intel/intel-cstate.ko.xz:
kernel/arch/x86/events/rapl.ko.xz:
kernel/arch/x86/kernel/cpu/mce/mce-inject.ko.xz:
kernel/arch/x86/crypto/des3_ede-x86_64.ko.xz: kernel/crypto/des_generic.ko.xz
kernel/arch/x86/crypto/camellia-x86_64.ko.xz:
kernel/arch/x86/crypto/blowfish-x86_64.ko.xz: kernel/crypto/blowfish_common.ko.xz
kernel/arch/x86/crypto/twofish-x86_64.ko.xz: kernel/crypto/twofish_common.ko.xz
kernel/arch/x86/crypto/twofish-x86_64-3way.ko.xz: kernel/arch/x86/crypto/twofish-x86_64.ko.xz kernel/crypto/twofish_common.ko.xz
kernel/arch/x86/crypto/chacha20-x86_64.ko.xz: kernel/crypto/chacha20_generic.ko.xz
kernel/arch/x86/crypto/serpent-sse2-x86_64.ko.xz: kernel/crypto/serpent_generic.ko.xz
kernel/arch/x86/crypto/ghash-clmulni-intel.ko.xz:
kernel/arch/x86/crypto/crc32c-intel.ko.xz:
kernel/arch/x86/crypto/crc32-pclmul.ko.xz:
kernel/arch/x86/crypto/crct10dif-pclmul.ko.xz:
kernel/arch/x86/crypto/poly1305-x86_64.ko.xz: kernel/crypto/poly1305_generic.ko.xz
kernel/arch/x86/crypto/camellia-aesni-avx-x86_64.ko.xz: kernel/arch/x86/crypto/camellia-x86_64.ko.xz
kernel/arch/x86/crypto/cast5-avx-x86_64.ko.xz: kernel/crypto/cast5_generic.ko.xz kernel/crypto/cast_common.ko.xz
kernel/arch/x86/crypto/cast6-avx-x86_64.ko.xz: kernel/crypto/cast6_generic.ko.xz kernel/
・
・
・