[완료] 컴파일 방법 및 모듈화 방법 문의드립니다

IGMP V3가 V2로 강제 변경되는 문제 때문에 고민중 외국인이 같은 문제로 올린글을 보고
(http://www.gossamer-threads.com/lists/l … el/1273443)

/root/kernel/linux-3.0.4/net/ipv4/igmp.c

의 파일을 외국인이 하라는 대로 아래와 같이 고쳤습니다.

if (len == 8) { ===> if (len == 8 || IGMP_V2_SEEN(in_dev)) {

근데 제가 리눅스 초보라서 그 다음에 어떻게 해야하는 지를 모르겠습니다.

어떻게 컴파일을 하고 어떻게 커널 모듈에 심는지를 모르겠습니다.

cpp를 실행하면 다음과 같은 에러가 발생하고

[root@realneuron ipv4]# cpp igmp.c

1 "igmp.c"

1 "<built-in>"

1 "<command-line>"

1 "igmp.c"

igmp.c:73:26: fatal error: linux/module.h: No such file or directory
compilation terminated.
f (len == 8 || IGMP_V2_SEEN(in_dev))[root@realneuron ipv4]#

gcc를 실행하면 다음과 같은 에러가 발생합니다. ㅡ.ㅡ :twisted:

[root@realneuron ipv4]# gcc igmp.c
igmp.c:1:8: error: expected ???before ??=??token
igmp.c:73:26: fatal error: linux/module.h: No such file or directory
compilation terminated.

도와주시면 감사하겠습니다. :D :D

일단 커널 컴파일 자체만 놓고 설명을 드리자면,

해당 항목의 모듈화는 make menuconfig에서 항목이 있을 경우 설정이 가능합니다.
다만, 커널 컴파일이라는 작업 자체가, 현재 쓰시는 컴퓨터의 하드웨어에 대해서 정확히 알고 계셔야하고 그외에도 필요하거나 필요할 것 같은 사항에 대해서도 모두 알고 계셔야 그나마 좀 수월하다고 볼 수 있습니다.

사실 커널 설정 (make menuconfig) 방법만 과장 살짝 보태서 책 한권 분량이기 때문에 게시판에서 설명을 드리기에는 무리가 있으니 커널 컴파일 방법은 구글링을 해보시구요.
절차 자체는 간단합니다. 다만 설정 방법이 어려울 뿐이죠. 말 그대로 운영체제의 핵심을 건드리는 작업이라, 설정이 제대로 안됐을시 부팅이 안되는 경우도 생깁니다.

도움이 되셨길 바래요.

답글 감사드립니다.

생각보다 복잡한 작업이군요.

조금 더 공부해서 건드리는게 좋을거 같네요.

감사합니다.