부팅시로드되도록 타사 모듈을 설치하는 방법은 무엇입니까?


24

프레임 그래버와 함께 사용할 타사 모듈이 있습니다. 커널 소스를 다운로드하고, 공급 업체의 지시에 따라 컴파일하고 폴더에 arvdrv.ko라는 결과 모듈이 있습니다.

공급 업체는 모듈을 커널에로드하는 스크립트를 제공했으며이를 실행할 때 작동합니다. 모듈은 다음 부팅까지만로드됩니다. 스크립트는 modprobe를 사용하지 않습니다. 모듈이 설치되면 프레임 그래버에 액세스 할 수 있습니다.

modprobe는 많은 모듈 목록을 유지하는 것으로 보입니다. / etc / modules를 편집하여 모듈 이름을 추가 할 수 있으며 부팅시로드되지만 arvdrv 모듈은 modprobe 목록에 없습니다.

내 질문은 modprobe에게 모듈을 알리는 방법입니다. 새 위치로 복사해야합니까?


마지막으로 "올바른"방법을 찾은 후에 발생한 문제는 공급 업체가 추가 초기화 스크립트를 포함하는 것을 잊어 버려서 부팅시 드라이버가로드되었지만 실패한 것입니다.
Nate Lockwood 2016 년

여기에 자동으로 시작하지 않고 밖으로의 트리 모듈 설치 절차에 대한 간단한 개요 설치 일부입니다 stackoverflow.com/questions/22783793/...
치로 틸리新疆改造中心法轮功六四事件

답변:


32

사용 sudo:

  1. /etc/modules파일을 편집 .ko하고 자체 행에 모듈 이름 ( 확장자 없이 )을 추가하십시오 . 부팅시 커널은이 파일에 이름이 지정된 모든 모듈을로드하려고 시도합니다.

  2. 의 적절한 폴더에 모듈을 복사하십시오 /lib/modules/`uname -r`/kernel/drivers. 내 경우에는이었다 /lib/modules/`uname -r`/kernel/drivers/pci. 그러면 모듈이 modprobe의 데이터베이스에 배치됩니다. 이것이 링크가 될 수 있는지 모르겠습니다.

  3. 를 실행하십시오 depmod. 이것은 모듈의 모든 의존성을 찾을 것입니다.

  4. 이 시점에서 재부팅 한 다음 lsmod | grep module-name모듈을 부팅 할 때로드되었는지 확인하기 위해 실행 했습니다.

자세한 내용은 modprobe , lsmoddepmod 매뉴얼 페이지 를 참조하십시오.


3
나는 당신의 지시를 따랐지만 공급 업체가 디버깅 된 코드를 제공 할 때까지 아무것도 작동하지 않았습니다 !!! 귀하의 답변은 완전하고 단순하며 공급 업체 오류가없는 경우에도 효과가있을 것으로 생각합니다. 예, 동의합니다.
Nate Lockwood
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.