처음 모듈프로그램을 짜는데..이상한 에러가....

안녕하세요..
리눅스 왕왕초보입니다.
모듈 프로그램을 따라해보구 있는데,printk("hello world");
하는거요....
#include
#include
#ifdef CONFIG_MODVERSIONS
#define MODVERSIONS
#include
#endif
int init_module(void)
{
printk("hello world \n");
return (0);
}
void cleanup_module(void)
{
printk("Good bye \n");
}
위의소스를 컴파일하는데, linux/module.h에 내용이 없어서, /usr/src/위
져서 거기있는 module.h카피해다가
컴파일까지는 성공해서 hello.o파일은 생성이되는데, insmod hello.o하면
unresolved symbol printk라는 메시지가 나옵니다.
분명히 하라는대로 그대로 따라한건데... 안되니까, 어떻게 손을쓸 방법
이 없네요..
이글 보시는 고수님 계시면 힌트좀 주세요. 어디서부터 문제를 찾아야 할
지도 막막해서...쩝...
참고로 root로 로그인해서 home디렉토리에서 컴파일하구 insmod 했습니다.
글구 makefile만들어서 컴파일을 하면 자꾸
makefile6 *** missing separator. 멈춤.
이라는 메시지가 나옵니다. 그래서 이것두
gcc -c -D__KERNEL__ -DMODULE -O hello.c해서 hello.o파일을 만들었습니
다.
그럼 이만
후다닥~~~
Re: 처음 모듈프로그램을 짜는데..이상한 에러가....
박주봉 wrote..
안녕하세요..
리눅스 왕왕초보입니다.
모듈 프로그램을 따라해보구 있는데,printk("hello world");
하는거요....
#include <inlux/kernel.h>
#include <linux/module.h>
#ifdef CONFIG_MODVERSIONS
#define MODVERSIONS
#include <linux/modversions.h>
#endif
int init_module(void)
{
printk("hello world \n");
return (0);
}
void cleanup_module(void)
{
printk("Good bye \n");
}
위의소스를 컴파일하는데, linux/module.h에 내용이 없어서, /usr/src/ 위
져서 거기있는 module.h카피해다가
컴파일까지는 성공해서 hello.o파일은 생성이되는데, insmod hello.o하 면
unresolved symbol printk라는 메시지가 나옵니다.
분명히 하라는대로 그대로 따라한건데... 안되니까, 어떻게 손을쓸 방법
이 없네요..
이글 보시는 고수님 계시면 힌트좀 주세요. 어디서부터 문제를 찾아야 할
지도 막막해서...쩝...
참고로 root로 로그인해서 home디렉토리에서 컴파일하구 insmod 했습니 다.
글구 makefile만들어서 컴파일을 하면 자꾸
makefile6 *** missing separator. 멈춤.
이라는 메시지가 나옵니다. 그래서 이것두
gcc -c -D__KERNEL__ -DMODULE -O hello.c해서 hello.o파일을 만들었습 니
다.
그럼 이만
후다닥~~~
#include linux/kernel.h --> 철자가 틀렸네요.
seperator missing은 makefile을 만들때 TAB키를 이용해서
문장을 구성하지 않을 경우에 나타납니다.
예를 들면,
.c.obj
$(CC) $(COPT) {$< }
^
|
|
요기에 반드시 TAB 을 삽입하세요.
댓글 달기