로드 가능한 모든 커널 모듈을 나열하는 방법은 무엇입니까?


65

나는로드하는 데 몇 커널 모듈을 찾고 있어요 i2c-devi2c-bcm2708. 그러나 modprobe명령은 다음을 반환합니다.

sudo modprobe i2c-dev
modprobe: module i2c-dev not found in modules.dep

시스템에서 사용 가능한 모든 모듈을 어떻게 나열합니까? 어느 디렉토리에 있습니까?


1
커널은이 i2c-dev를 컴파일하지 않았습니다. 커널 모듈은 / lib / modules / 'kernel-version'/ drivers에 있습니다. 리눅스 드라이버를 찾을 때.
Supriady

/ boot / config-'kernel-version '을 확인하고이 구성 파일을 읽을 수 있습니다. 어떤 Linux 모듈이로드 또는 모듈 식인지 또는 커널 컴파일 중에 i2c-dev 모듈을 활성화하지 않았는지 알아야합니다.
supriady

답변:


76
  • 기본적으로 modprobe디렉토리에있는 서브 디렉토리에서 모듈을로드합니다 /lib/modules/$(uname -r). 일반적으로 모든 파일의 확장자 .ko는이므로 함께 나열 할 수 있습니다.

    find /lib/modules/$(uname -r) -type f -name '*.ko'
    

    또는 압축 파일을 고려하여 :

    find /lib/modules/$(uname -r) -type f -name '*.ko*'
    
  • 그러나 모듈을 성공적으로로드 modprobe하려면 파일 /lib/modules/$(uname -r)/modules.dep(및 해당 바이너리 버전 modules.dep.bin)에 나열된 해당 종속성이 필요합니다 . 시스템에 일부 모듈이 있지만 목록에없는 경우 depmod이러한 종속성을 생성하고 모듈을 modules.depand에 자동으로 포함시키는 명령 을 실행해야합니다 modules.dep.bin.

  • 또한 모듈이 성공적으로로드되면 파일에 나열됩니다 /proc/modules(command를 통해 액세스 할 수도 있음 lsmod).


3
Redhat 7 모듈 파일은 .xz로 압축되어 있습니다 (커널 버전 또는 OS 버전 때문인지 확실하지 않습니다. 누군가 나에게 명확히 할 수 있습니까?). jimmij의 find 명령으로 찾을 수 없을 것 같습니다. 대신 사용 find /lib/modules/$(uname -r) -type f -name *.ko*
Pozinux

1
@Pozinux 4.13.10의 아치 리눅스에서 끝이 같은 것을 발견했다.gz
Johann

1
@posinux :주의 : *.ko*현재 디렉토리에 일치하는 파일이 있으면 쉘이 확장 될 수 있습니다 . 작은 따옴표 사이에서 벗어나는 것이 좋습니다. find /lib/modules/$(uname -r) -type f -name '*.ko*'
Olivier Dulac

10

입력 modprobe하고 탭을 누르면 자동 완성 목록에 모든로드 가능한 모듈이 포함되어야합니다


11
일부 시스템에서는 작동하지 않습니다
avtomaton

5

lsmod의 명령 kmod에 패키지 아치 리눅스 나열하고 같은 다른 유용한 명령이 포함되어 리눅스 커널 모듈의 상태를 보여줍니다 무엇을 modinfo, rmmod modprobe너무가.

리터의 사용자가 입력 할 수있는 패키지가 제공하는 모든 바이너리는 인도 표준시 :

pacman -Ql kmod | grep /bin/ --color=always

, 당신은 또한 확인할 수 있습니다 와 이진의 wner 패키지 pacman -Qo lsmod.


Q스위치이다 q를 uery 로컬로 설치된 패키지 (달리 S의의 ynchronize, 예. 원격으로 확인).


2
이미 로드 된 모듈 lsmod만 표시 하도록 강조 표시해야하는 경우 이 스레드의 작성자는로드 가능한 커널 모듈의 맵에없는 모듈을로드하는 데 문제가있었습니다. 또한이 솔루션은 archlinux에만 적용됩니다. 저자의 배포가 아니며 다른 사람의 문제를 해결하지 못할 수도 있습니다.
Akendo

@Akendo lsmod는 최소한 우분투에서도 사용할 수 있습니다. 그러나 이것이 OP의 문제를 해결하지 못한다는 데 동의합니다.
Melebius

2

사용하는 것을 선호합니다 depmod. 명령 :을 사용하면 depmod -av|grep MOD_NAME시스템은 modules.dep / map 파일을 생성하고 grep합니다. 이 -v매개 변수는 자세한 정보를 제공하고 -a가능한 모든 모듈 /lib/modules/이 modules.dep 파일에 사용되도록합니다.

이렇게하면 요청 된 커널 모듈이 커널에로드 가능한 것으로 매핑 될 수 있습니다. 원하는 커널 모듈이 출력에 나열되지 않으면 커널이 찾지 못할 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.