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

관련 정보