나는로드하는 데 몇 커널 모듈을 찾고 있어요 i2c-dev
와 i2c-bcm2708
. 그러나 modprobe
명령은 다음을 반환합니다.
sudo modprobe i2c-dev
modprobe: module i2c-dev not found in modules.dep
시스템에서 사용 가능한 모든 모듈을 어떻게 나열합니까? 어느 디렉토리에 있습니까?
답변
-
기본적으로
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.dep
and에 자동으로 포함시키는 명령 을 실행해야합니다modules.dep.bin
. -
또한 모듈이 성공적으로로드되면 파일에 나열됩니다
/proc/modules
(command를 통해 액세스 할 수도 있음lsmod
).
답변
입력 modprobe
하고 탭을 누르면 자동 완성 목록에 모든로드 가능한 모듈이 포함되어야합니다
답변
이 lsmod
의 명령 kmod
에 패키지 아치 리눅스 나열하고 같은 다른 유용한 명령이 포함되어 리눅스 커널 모듈의 상태를 보여줍니다 무엇을 modinfo
, rmmod
modprobe
너무가.
에 리터의 사용자가 입력 할 수있는 패키지가 제공하는 모든 바이너리는 인도 표준시 :
pacman -Ql kmod | grep /bin/ --color=always
, 당신은 또한 확인할 수 있습니다 오 와 이진의 wner 패키지 pacman -Qo lsmod
.
Q
스위치이다 q를 uery 로컬로 설치된 패키지 (달리 S
에 의의 ynchronize, 예. 원격으로 확인).
답변
사용하는 것을 선호합니다 depmod
. 명령 :을 사용하면 depmod -av|grep MOD_NAME
시스템은 modules.dep / map 파일을 생성하고 grep합니다. 이 -v
매개 변수는 자세한 정보를 제공하고 -a
가능한 모든 모듈 /lib/modules/
이 modules.dep 파일에 사용되도록합니다.
이렇게하면 요청 된 커널 모듈이 커널에로드 가능한 것으로 매핑 될 수 있습니다. 원하는 커널 모듈이 출력에 나열되지 않으면 커널이 찾지 못할 것입니다.