특정 장치의 드라이버가 커널 모듈인지(정적으로 링크되는 것이 아니라) 확인하는 테스트를 만들어야 합니다. 런타임에 이 정보를 알 수 있는 방법이 있나요? 감사해요!
답변1
lsmod
현재 로드된 커널 모듈이 나열됩니다. 따라서 드라이버가 목록에 없으면 커널에 내장되어 있거나 로드되지 않은 것입니다. 대부분의 배포판에서는 /boot
사용된 커널 구성 옵션이 포함된 디렉터리에 구성 파일을 저장해야 합니다 . 동일한 커널 버전에 대한 소스 코드를 다운로드하고 압축을 풀면 구성 파일을 .config
소스 트리 상단에 복사한 다음 을 실행하면 make menuconfig
구성 설정을 탐색하고 해당 드라이버가 어떻게 구성되어 있는지 확인할 수 있습니다.
어떤 경우에는 커널 구성이 실제로 커널 자체에 내장되어 있지만 이에 액세스하는 방법을 찾아야 합니다. :)
편집하다:
더 빠를 수 있는 또 다른 옵션(PCI 장치인 경우)은 를 실행하는 것입니다 lspci -v
. 이 출력에서는 현재 사용 중인 드라이버의 이름을 알려줍니다. lsmod에 나열되어 있지 않으면 내장되어 있어야 한다는 것을 알 수 있습니다.