[질문] 커널소스에 네트웍 드라이버 올리는방법.

huwari의 이미지

(마우스 클릭을 잘못해서 긴글이 날라갔네요 .흑)

안녕하세요.

kerrighed 를 이용하여 SSI(single system image)를 구성하려고 합니다.

그런데 NIC드라이버가 없어서 이걸 커널소스에 직접 올리려고 합니다.(모듈로는 사용할수 없다고 합니다.)

그래서 구글링(http://lovetonight.net/blog/107)을 해봤더니

Makefile , Space.c, config.in 을 수정하면된다고 했는데 옛날문서인지 약간 좀 다른것같습니다.

tristate 'Snarf device support' CONFIG_SNARF 을 config.in에 추가하라고 하였으나 (snarf는 예제드라이버이구요)

눈치껏

Kconfig에

config 장치이름
tristate '설명'

이렇게 했더니 make xconfig에서 보이기는 합니다.

그리고 Makefile 의 수정은

ifeq ($(CONFIG_SNARF),y)
L_OBJS += snarf.o
else
ifeq ($(CONFIG_SNARF),m)
M_OBJS += snarf.o
endif
endif

이걸 추가하라는데...

문서어디에도 저런형태는 안보이고 대부분

obj-$(CONFIG_장치이름) += 이름/ 이런식으로 나와있습니다. (이것도 비슷하게 고치면 될까요?)

그리고 마지막 Space.c 는

extern int snarf_probe(struct device *);

을 앞쪽에 추가해주고 (실제 Space.o파일에는 extern struct net_device *이름_probe(int unit); 이런식으로 되어있습니다)

struct devprobe pci_probes[] __initdata = { 이렇게 쓰인줄 밑에

#ifdef CONFIG_SNARF
snarf_probe, 0},
#endif

이렇게 추가하면 된다고 합니다만.

역시 옛날문서인지. 저런코드 안보입니다. 단 유사하게

static struct devprobe2 eisa(또는 isa,mca,parport,m68k,tr)_probes[] __initdata ={ 이런 문구가 있습니다.

그런데 pci는 없네요.. (랜카드 드라이버를 받을때 PCIX쪽에 드라이버가 올라와있습니다만)

글이 내용만 길어지고 정리가 안되서 일단 죄송합니다 (코딩같은건 해보지도 안아서 되는데로 막 복사해서 붙여놨는데

질문의 요는 Makefile 과 Space.c파일을 어떻게 수정하는가 입니다..)

긴글읽어주셔서 감사드리구요. 좋은 한주 시작하시길 바랍니다. 답변주시면 감사하겠습니다. 복받으세요 : )