[질문] 커널소스에 네트웍 드라이버 올리는방법.
(마우스 클릭을 잘못해서 긴글이 날라갔네요 .흑)
안녕하세요.
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파일을 어떻게 수정하는가 입니다..)
긴글읽어주셔서 감사드리구요. 좋은 한주 시작하시길 바랍니다. 답변주시면 감사하겠습니다. 복받으세요 : )
댓글 달기