모듈 프로그램 컴파일이 안되요..

seomee의 이미지

디바이스 드라이버 공부를 시작했습니다.
처음으로 hello.c를 만들고 컴파일 하려는데 컴파일이 잘 안되네요..

환경은 fedora release 9에 2.6.25.11-97.fc9.i686 입니다.

페도라 깔고 커널 소스 없어서 고생하다가

>yum install kernel-devel

로 소스 설치하고 컴파일 했습니다.

우선 코드는

#include < linux/module.h >
 
int init_module(void)
{
        printk("<1>Hello\n");
        return 0;
}
 
 
void cleanup_module(void)
{
        printk("<1>Goodbye\n");
}

이구요...

Makefile 입니다.

TARGET  := hello
INCLUDE := -I/usr/src/kernels/`uname -r`/include
CFLAGS  := -O2 -Wall -DMODULE -D__KERNEL__ -DLINUX
CC      := gcc
 
${TARGET}.o: ${TARGET}.c
        $(CC) $(CFLAGS) ${INCLUDE} -c ${TARGET}.c

질답 뒤져가면서 겨우 여기까지 오긴 했는데... 그래도 다음과 같은 에러가 나네요..

[root@localhost work]# make
gcc -O2 -Wall -DMODULE -D__KERNEL__ -DLINUX -I/usr/src/kernels/`uname -r`/include -c hello.c
In file included from /usr/src/kernels/2.6.25.11-97.fc9.i686/include/linux/prefetch.h:14,
                 from /usr/src/kernels/2.6.25.11-97.fc9.i686/include/linux/list.h:8,
                 from /usr/src/kernels/2.6.25.11-97.fc9.i686/include/linux/module.h:9,
                 from hello.c:3:
/usr/src/kernels/2.6.25.11-97.fc9.i686/include/asm/processor.h:102: error: ?ONFIG_X86_L1_CACHE_SHIFT?undeclared here (not in a function)
/usr/src/kernels/2.6.25.11-97.fc9.i686/include/asm/processor.h:102: error: requested alignment is not a constant
/usr/src/kernels/2.6.25.11-97.fc9.i686/include/asm/processor.h: In function ?oad_cr3?
/usr/src/kernels/2.6.25.11-97.fc9.i686/include/asm/processor.h:162: error: ?ONFIG_PAGE_OFFSETUL?undeclared (first use in this function)
/usr/src/kernels/2.6.25.11-97.fc9.i686/include/asm/processor.h:162: error: (Each undeclared identifier is reported only once
/usr/src/kernels/2.6.25.11-97.fc9.i686/include/asm/processor.h:162: error: for each function it appears in.)
/usr/src/kernels/2.6.25.11-97.fc9.i686/include/asm/processor.h: At top level:
/usr/src/kernels/2.6.25.11-97.fc9.i686/include/asm/processor.h:201: error: requested alignment is not a constant
In file included from /usr/src/kernels/2.6.25.11-97.fc9.i686/include/asm/thread_info.h:4,
                 from /usr/src/kernels/2.6.25.11-97.fc9.i686/include/linux/thread_info.h:35,
                 from /usr/src/kernels/2.6.25.11-97.fc9.i686/include/linux/preempt.h:9,
                 from /usr/src/kernels/2.6.25.11-97.fc9.i686/include/linux/spinlock.h:49,
                 from /usr/src/kernels/2.6.25.11-97.fc9.i686/include/linux/seqlock.h:29,
                 from /usr/src/kernels/2.6.25.11-97.fc9.i686/include/linux/time.h:8,
                 from /usr/src/kernels/2.6.25.11-97.fc9.i686/include/linux/stat.h:60,
                 from /usr/src/kernels/2.6.25.11-97.fc9.i686/include/linux/module.h:10,
                 from hello.c:3:
/usr/src/kernels/2.6.25.11-97.fc9.i686/include/asm/thread_info_64.h: In function ?urrent_thread_info?
/usr/src/kernels/2.6.25.11-97.fc9.i686/include/asm/thread_info_64.h:66: error: ?HREAD_SIZE?undeclared (first use in this function)
/usr/src/kernels/2.6.25.11-97.fc9.i686/include/asm/thread_info_64.h: In function ?tack_thread_info?
/usr/src/kernels/2.6.25.11-97.fc9.i686/include/asm/thread_info_64.h:74: error: ?HREAD_SIZE?undeclared (first use in this function)
In file included from /usr/src/kernels/2.6.25.11-97.fc9.i686/include/linux/elf.h:7,
                 from /usr/src/kernels/2.6.25.11-97.fc9.i686/include/linux/module.h:14,
                 from hello.c:3:
/usr/src/kernels/2.6.25.11-97.fc9.i686/include/asm/elf.h: In function ?lf_common_init?
/usr/src/kernels/2.6.25.11-97.fc9.i686/include/asm/elf.h:165: error: ?truct pt_regs?has no member named ?8?
/usr/src/kernels/2.6.25.11-97.fc9.i686/include/asm/elf.h:165: error: ?truct pt_regs?has no member named ?9?
/usr/src/kernels/2.6.25.11-97.fc9.i686/include/asm/elf.h:165: error: ?truct pt_regs?has no member named ?10?
/usr/src/kernels/2.6.25.11-97.fc9.i686/include/asm/elf.h:165: error: ?truct pt_regs?has no member named ?11?
/usr/src/kernels/2.6.25.11-97.fc9.i686/include/asm/elf.h:166: error: ?truct pt_regs?has no member named ?12?
/usr/src/kernels/2.6.25.11-97.fc9.i686/include/asm/elf.h:166: error: ?truct pt_regs?has no member named ?13?
/usr/src/kernels/2.6.25.11-97.fc9.i686/include/asm/elf.h:166: error: ?truct pt_regs?has no member named ?14?
/usr/src/kernels/2.6.25.11-97.fc9.i686/include/asm/elf.h:166: error: ?truct pt_regs?has no member named ?15?
In file included from /usr/src/kernels/2.6.25.11-97.fc9.i686/include/linux/module.h:21,
                 from hello.c:3:
/usr/src/kernels/2.6.25.11-97.fc9.i686/include/asm/module.h:70:2: error: #error unknown processor family
make: *** [hello.o] Error 1

여기서 더이상 진도가 안나갑니다..

뭐가 잘못된건지 알려주세요...