lsmodモジュール名をカーネル構成メニュー項目にバインドする

lsmodモジュール名をカーネル構成メニュー項目にバインドする

「mptsas」というモジュールがあるとしましょう。このモジュールに対応するカーネル設定メニュー項目(/usr/src/linuxからmake menuconfig)をどのように見つけることができますか?

「該当する」とは、どのメニュー項目が適切なモジュールをカーネルにコンパイルするかを意味します。

ここに画像の説明を入力してください。

//編集:本当にうまくいきます: ここに画像の説明を入力してください。

答え1

レコード接続がありません。カーネルのソースコードでmakefileに移動する必要があります。次の行を見つけることができます

obj-$(CONFIG_FUSION_SAS)        += mptbase.o mptscsih.o mptsas.o

これは次のことを意味します。

  • その場合、ドライバとカーネルがCONFIG_FUSION_SASコンパイルされます。ymptbasemptscsihmptsas
  • その場合は、ドライバとモジュールCONFIG_FUSION_SASにコンパイルされます。mmptbasemptscsihmptsas
  • その場合、ドライバとCONFIG_FUSION_SASはコンパイルされません。nmptbasemptscsihmptsas

grep -R --include=Makefile '\bNAME\.o\b'ほとんどの場合、カーネルソースツリーの上部のコマンドは関連する makefile 行を返します。

答え2

このlsmodコマンドは以下をリストします。モジュール名、モジュールではありませんファイル名。異なる場合があります。たとえば、モジュールはモジュールファイル(アンダースコアではなくハイフン)aesni_intelにあるため、対応するカーネル設定タグエントリを見つけるには検索する必要があります。aesni-intelaesni-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

関連情報