커널2.6.5 업하고나서...문제가..
글쓴이: sangjina / 작성시간: 토, 2004/04/24 - 2:52오후
디바이스드라이버를 짜서..컴파일을 했습니다..
근데..
insmod xxx.o하면 에러가 나옵니다.
insmod: error inserting 'xxx.o' : -1 Invalid module format
이라는 에러가 나옵니다..
그래서...
Makefile 에
gcc Flag에 -DKBUILD_MODNAME 를 추가했습니다.
근데..올라가긴 하는데..이상하게 나옵니다.
module size used by
l 704 -
글구 다른 모듈들은 올라오지도 않습니다..
어떻게 해야되죠...
?
답부..바랍니다.ㄷ
그런.
Forums:
커널 2.6 으로 오면서 모듈 컴파일 방법 등이 바뀌었죠. 아래
커널 2.6 으로 오면서 모듈 컴파일 방법 등이 바뀌었죠.
아래 자료를 참조해서 Makefile을 바꾸어 주시면 될 것 같습니다.
Driver porting: compiling external modules
( http://lwn.net/Articles/21823/ )
모둘이 올라갔지만...
lsmod 치면
---------------------------------
module size Used by
1 816 0
---------------------------------
이런식으로 나옵니다.
글구..
rmmod 1 하면
segmentaiton fault
라고 나오네요...
cat /proc/modules 해서 보면
1 816 0 - unloading 0xc882c000
라고 나옵니다.문제가 뭐죠...
다부하며...
다시..
insmod xxx.o
치면
module size Used by
1 816 0
cat /proc/modules
1 816 0 - Live 0xc883b000
이렇게 나옵니다..
2.6커널에서는 원래이런가요...
dmesg 치면 printk한 문자들이 나오긴합니다.
근데..
rmmod xxx 는 안되고.. rmmod 1
하면
segmentation fault 라고 나옵니다.
글구..
cat /proc/modules
1 816 0 - unloading 0xc883b000
라고 나옵니다.
왜이런지...
답부합니다...플리즈..그럼..수고하세요..
혹시 module관련 유틸리트를 업그레이드 하셨는지요? 만약 안하셨다
혹시 module관련 유틸리트를 업그레이드 하셨는지요?
만약 안하셨다면 module-init-tool 새로 컴파일해서 업글하십시요
depmod -V하면module-init-tools 3.0-pre
depmod -V
하면
module-init-tools 3.0-prel0
이라고 나옵니다..
제가 업했죠...
어느정도 해결되네요...kldp를 디지다가...이걸봤습니다아래소스
어느정도 해결되네요...
kldp를 디지다가...이걸봤습니다
아래소스대로 하니깐...모듈이 올라가고 모듈을 제거가 됩니다.
#include <linux/module.h>
#include <linux/kernel.h>
--------이부분추가---------------------------
#define DRIVER_AUTHOR "saibi"
#define DRIVER_DESC "test module"
-----------------------------------------------
int init_module(void)
{
printk("<1>Hello world 1.\n");
return 0;
}
void cleanup_module(void)
{
printk("Goodbye world 1.\n");
}
module_init(init_module);
module_exit(cleanup_module);
--------이부분추가---------------------------
MODULE_AUTHOR(DRIVER_AUTHOR);
MODULE_DESCRIPTION(DRIVER_DESC);
MODULE_LICENSE("GPL");
------------------------------------------------
두부분을 추가하니깐..모듈을 로드,언로드됩니다..에러없이...
근데...
Module Size Used by
1 1488 0
이런식으로 나옵니다..
모듈네임이 xxx이면 1대신 xxx가 나와야되는데...
이게 문제가 됩니다..
답변부탁합니다..
그럼..
댓글 달기