| 제목 |
2444 번 글의 답장글 : Re: 커널 컴파일시 포함되지 않은 드라이버(driver) 설치 방법있나요? |
| 이름 |
산이 [홈]http://www.linuxchannel.net |
[바람]님이 남기신 글:
>리눅스 네트워크 레퍼런스 바이블을 읽고 있습니다.
>
>자신이 설정한 커널 옵션에 따라 커널을 컴파일하고
>모듈을 설치하면 특정 디렉토리에 모듈(.o) 들이 설치되는데,
>만약 커널 컴파일시 자신이 가진 하드웨어용 모듈이 없다면
>그 하드웨어에 대한 모듈은 어떻게 설치하고 어떻게 메모리로 올릴 수 있는지
>궁금합니다.
>
>또한 커널 컴파일시 설정단계에서 선택하지 않아
>모듈이 설치되지 않은 경우 다시 커널 컴파일을 하지 않고
>해당 모듈을 설치하는 방법은 없는지 궁금합니다.
>
>위 질문 2개다 공통된 것은 커널 컴파일없이
>특정 모듈을 설치 및 메모리로 올리수 있는 방법이 있는지 하는 겁니다.
>네트워크 카드뿐아니라 비디오카드나 사운드카드도 마찬가지구요.
========================================
답변이 늦었습니다.
우선 리눅스 커널에서 지원하지 않은 이더넷카드를 가지고 있다면
95% 이상 포기하는 편이 낫습니다.
5%의 희망 :
우선 소유한 이더넷의 제작회사 홈페이지를 방문하여(있다면) 리눅스용
드라이브를 다운로드해야합니다.
아마 거의 대부분 없을 겁니다. 이유는 리눅스 네트워크 드라이브는
다른 유닉스에 비해서 비교적 상당히 많은 드라이브를 지원하고 있기 때문에 리눅스 커널에서 지원하지 않는다면 아주 희귀한(?) 이더넷 범주에
속하기 때문입니다.
만약 제작회사 홈페이지에서 불행중 다행이 C 소스코드를 얻었다면
제공된 매뉴얼이나 README 파일을 읽어보면서 컴파일해야합니다.
예를 들어 3com 9xx 시리즈는 3com에서 자체적으로 지원하는 소스코드가 있는데(3c90x.c),
# gcc -c 3c90x.c -O2 -Wall -Wstrict-prototypes -fomit-frame-pointer \
-I/lib/modules/$(uname -r)/build/include \
-fno-strength-reduce -pipe -m486 -malign-loops=2 \
-malign-jumps=2 -malign-functions=2 -DCPU=486 \
-DMODULE -D__KERNEL__ -DMODVERSIONS
이때 커널 소스가 있어야합니다.
즉
/lib/modules/$(uname -r)/build/include 은
/usr/src/linux/include 디렉토리로 링크되어 있어야합니다.
이와 같이 컴파일하더라고 잘되지 않는 경우가 많습니다.
만약 컴파일 에러를 낸다면 포기.......T.T
다행이 컴파일 된고 모듈(3c90x.0)이 만들어 진다면
# cp 3c90x.0 /lib/modules/`uname -r`/kernel/drivers/net
# modprobe 3c59x
이런 방법으로 모듈을 올려야합니다.
아마 쉬운 작업은 아닐겁니다...
도움이 되었나 모르겠네요.. |
|
2002년 06월 12일 00:42:31 수(새벽) from 210.205.212.144 |