"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