「mptsas」というモジュールがあるとしましょう。このモジュールに対応するカーネル設定メニュー項目(/usr/src/linuxからmake menuconfig)をどのように見つけることができますか?
「該当する」とは、どのメニュー項目が適切なモジュールをカーネルにコンパイルするかを意味します。
//編集:本当にうまくいきます:
答え1
レコード接続がありません。カーネルのソースコードでmakefileに移動する必要があります。次の行を見つけることができます
obj-$(CONFIG_FUSION_SAS) += mptbase.o mptscsih.o mptsas.o
これは次のことを意味します。
- その場合、ドライバとカーネルが
CONFIG_FUSION_SAS
コンパイルされます。y
mptbase
mptscsih
mptsas
- その場合は、ドライバとモジュール
CONFIG_FUSION_SAS
にコンパイルされます。m
mptbase
mptscsih
mptsas
- その場合、ドライバと
CONFIG_FUSION_SAS
はコンパイルされません。n
mptbase
mptscsih
mptsas
grep -R --include=Makefile '\bNAME\.o\b'
ほとんどの場合、カーネルソースツリーの上部のコマンドは関連する makefile 行を返します。
答え2
このlsmod
コマンドは以下をリストします。モジュール名、モジュールではありませんファイル名。異なる場合があります。たとえば、モジュールはモジュールファイル(アンダースコアではなくハイフン)aesni_intel
にあるため、対応するカーネル設定タグエントリを見つけるには検索する必要があります。aesni-intel
aesni-intel
$ grep -R --include=Makefile '\baesni-intel\.o\b'
arch/x86/crypto/Makefile:obj-$(CONFIG_CRYPTO_AES_NI_INTEL) += aesni-intel.o
modinfo
編集:この場合、モジュールを表示するコマンドが役に立ちます。ファイル名:
# modinfo aesni_intel | grep filename
filename: /lib/modules/5.10.162/kernel/arch/x86/crypto/aesni-intel.ko