[완료] 커널 모듈이 로딩될 때 우선순위가 있나요?
글쓴이: dodamn / 작성시간: 금, 2010/02/05 - 5:51오후
리눅스 드라이버 소스 코드가 제공되는 usb 무선 랜 카드가 있습니다. 직접 빌드해서 커널 모듈을 성공적으로 만들었습니다. 그런데 랜카드를 꽂으면, 빌드한 커널 모듈 대신에 다른 모듈이 로딩됩니다.
당연히 무선 랜 카드는 올바로 동작되지 않구요. 확인해보니... 로딩된 모듈은 같은 회사의 다른 칩셋을 사용한 무선 랜 카드용 커널 모듈이었습니다. 아마도 커널이 제 무선 랜카드와 호환이 되는 모듈인 줄 알고 로딩한 것으로 추측됩니다.
그래서 임시 방편으로 해당 모듈을 /etc/modprobe.d/ 밑에 블랙 리스팅했더니, 빌드한 모듈이 로딩되었고 랜카드가 올바로 동작합니다.
이런 현상은 왜 일어나는지 궁금합니다. 모듈을 로딩하는 우선순위라도 있는 것인가요?
뭔가 커널 모듈의 "device id", "alias" 등과 관계가 있는 듯도 한데, 잘 모르겠네요.
그리고 블랙 리스팅을 사용하는 방법 말고, 이런 경우에 제가 직접 모듈의 우선순위를 정해준다건가 혹은 이와 비슷한 방법이 있나요?
Forums:
modules.alias 순서에
modules.alias 순서에 따라 결정되는데요. 요즘 커널과 modutils면 depmod가 modules.alias 생성할 때 /lib/modules/`uname -r`/modules.order에 따라서 정렬합니다. modules.order에 없는 항목들은 제일 뒤에 붙습니다. modules.order에 추가하고 depmod 실행하면 됩니다.
감사합니다.
감사합니다.
댓글 달기