아래의 logo는 제가 모듈프로그램을 한 번 해보려고 했더니..아래와 같이 에러가 발생했습니다.

우선 제가 준비한 것은 OS 및 toolchain 사양은 아래와 같습니다.

Host : 커널 2.6.32-37-generic

Target : 커널 2.6.30

arm tool chain : gcc version 4.3.3 (GCC)

제가 짠 아주 단순한 모듈 프로그램의 소스를 짜고 make를 했는데...이런 에러가 나왔습니다.

어떻게 해결 할 수 있는 것인가요??

혹시나 해서 제 소스와 makefile을 올립니다.

//////////////// hello.c /////////////////////////////////

#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>

static int hello_init(void)
{
printk("Hello World\n");
return 0;
}
static void hello_exit(void)
{
printk("Goodbyte\n");
}


module_init(hello_init);
module_exit(hello_exit);

MODULE_LICENSE("GPL");

//////////////////////////////////////////////////////////////////////////////

////////////////// Makefile //////////////////////////////////////

CC = /usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi-gcc

obj-m :=hello.o

KDIR := /usr/src/linux/
PWD := $(shell pwd)

default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules ARCH=arm

clean:
rm -rf *.ko
rm -rf *.mod.*
rm -rf .*.cmd
rm -rf *.o

///////////////////////////////////////////////////////////////

////////// make 순서 및 Error logo ///////////////////////////////////////

root@devpc-laptop:/home/nfsroot# make
make -C /usr/src/linux/ SUBDIRS=/home/nfsroot modules ARCH=arm
make[1]: Entering directory `/usr/src/linux-2.6.30'

WARNING: Symbol version dump /usr/src/linux-2.6.30/Module.symvers
is missing; modules will have no dependencies and modversions.

CC [M] /home/nfsroot/hello.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/nfsroot/hello.mod.o
LD [M] /home/nfsroot/hello.ko
ld: /home/nfsroot/hello.o: Relocations in generic ELF (EM: 40)
ld: /home/nfsroot/hello.o: Relocations in generic ELF (EM: 40)
/home/nfsroot/hello.o: could not read symbols: File in wrong format
make[2]: *** [/home/nfsroot/hello.ko] Error 1
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.30'
make: *** [default] Error 2
root@devpc-laptop:/home/nfsroot#