Makefile

 

  1 cc  :=arm-generic-linux-gnueabi=gcc-4.3.2
  2 obj-m   :=test_module.o
  3
  4 KDIR     :=/home/work/linux-2.6.35-s5pv210
  5 all:
  6      make -C $(KDIR) SUBDIRS=$(PWD) modules
  7 clean:
  8     make -C $(KDIR) SUBDIRS=$(PWD) clean
  9

다음과 같은 파일을 만들구요

/*
 * test_module.c
 *
 *  Created on: 2012. 11. 8.
 *      Author: moon
 */


#include <linux/kernel.h>

#include <linux/module.h>

#include <linux/init.h>

 


int __intit test_init()

{

 printk("module init \n");

 return 0;

}

void __exit test_exit()

{

}

 


module_init( test_init );

module_exit( test_exit );

MODULE_LICENSE("GPL");

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

make 를 하였는데

다음과같은 에러가 나네요..

커널소스디렉토리에서      make  menuconfig

를 해서 .config 를 확인했는데요

왜그런거죠?

커널소스는 제공받은 소스이고 압축해제후에 ,

zImage(./make_s5pv210.sh) 도 만들었고 menuconfig 설정도 해보고(.config 확인) 나서 한것입니다.

 

툴체인은 리눅스 루트에서 압축해제했구요.

arm-generic-linux-gnueabi-gcc 로 그냥 컴파일하면 arm 파일이 만들어지더라구요.

모듈을 컴파일하는 make 파일을 어떻게 만들어야 하나요?

 

 

make -C /home/work/linux-2.6.35-s5pv210/ SUBDIRS=/home/work/test modules
make[1]: Entering directory `/home/work/linux-2.6.35-s5pv210'

  ERROR: Kernel configuration is invalid.
         include/generated/autoconf.h or include/config/auto.conf are missing.
         Run 'make oldconfig && make prepare' on kernel src to fix it.


  WARNING: Symbol version dump /home/work/linux-2.6.35-s5pv210/Module.symvers
           is missing; modules will have no dependencies and modversions.

  CC [M]  /home/work/test/test_module.o
cc1: fatal error: include/generated/autoconf.h: No such file or directory
compilation terminated.
make[2]: *** [/home/work/test/test_module.o] Error 1
make[1]: *** [_module_/home/work/test] Error 2