(모든) 로드된 커널 모듈 열거

(모든) 로드된 커널 모듈 열거

이것에 주의하세요우편 엽서내 질문에 완전히 대답하지 않습니다.

데비안 설치의 메모리 덤프를 확인했습니다. 특히 커널 메모리 공간을 확인하고 현재 코드 조각을 수동으로 확인했습니다. 코드 조각을 검사한 후 메모리에서 실제로 모듈(예: sky2.ko)에 속하지만 lsmod 또는 기타 로깅 메커니즘에 의해 나열되지 않는 조각이 적당하다는 것을 발견했습니다.

저는 LKM의 기능과 커널 자체에 내장된 모듈의 존재를 이해하려고 노력하고 있습니다. 그러나 모든 리소스를 확인하고, 모든 로그를 파악하고, 가능한 종속성을 이해하려고 노력한 후에도 LKM이 실제로 언제 어디서 RAM에 로드되는지에 대한 질문에 답할 수 없습니다.

내가 고려하지 않은 로드/언로드 단계가 있습니까? 예를 들어, udev는 LKM을 로드하고 몇 단계 후에 이를 삭제합니까?

lsmod를 사용하여 모든 크로스 로딩(예: LKM 종속성을 통해)을 해결할 수 있나요? 이건 아닌 것 같은데?

LKM이 로드될 수 있는 모든 중단점을 나열하는 포괄적인 리소스가 있습니까?

예상: 현재 파악한 바에 따르면 초기 램디스크로 인해 조각화가 발생합니다(이 위대한 내용 참조).답변). 그런데 내 가설을 어떻게 확인할 수 있나요?

답변1

lsmod로드 가능한 모듈만 표시됩니다:

# lsmod
Module                  Size  Used by
nls_iso8859_1          16384  0
vfat                   20480  0
fat                    77824  1 vfat
isofs                  45056  0
(...)

나머지는 커널 구성을 통해 사용할 수 있습니다.

# zless /proc/config.gz

또는

# zgrep "=y" /proc/config.gz

그러나 여기에는 컴파일된 "모듈"(활성화된 옵션) 외에 일부 구성 옵션도 표시됩니다.

관련 정보