모듈을 커널에 적재시키는것에 관한 문의사항
오늘도 즐거운 하루 되셨는지요 ...
저는 오늘 하루 종일 지루 했네요^^;;
본론으로 들어가서 ... 제가 천신만고 끝에 ㅡ.ㅡ;;;
리눅스 커널 프로그래밍 예제 hello.c를 컴파일해서 hello.o를 만들어 내고야 말았습니다 ㅜ.ㅜ
그런데 문제는 저희집에 깔려 있는 리눅스가 fedora4인데 .....
명령어 insmod lsmod modprobe kmod depmod rmmod
이것들이 없습니다(찾아 봤어습니다.) ㅜ.ㅜ 실행이 안됩니다. 다른분들도 그러신지?
커널상에 적재된 모듈을 확인 할수도 올릴수도 없습니다.
초보로서 고수님들의 손이 필요해 이렇게 도움을 요청합니다.
따뜻한 손길(?)부탁드립니다
그리고 또 궁금 사항이 ..... 여기 이 사이트에 커널 개발 코너에 hello-1.c 코드를 보면
#include<linux/kernel.h>
#include<linux/module.h>
int init_module(void)
{
printk("<1>hello,world \n");
return 0 ;
}
void cleanup_module(void)
{
printk(KERN_ALERT "goodbye \n");
}
요렇게 되어있습니다.. 그런데 요지는 KERN_ALERT입니다.
요것이 kernel.h에서 불러서 쓰는 모듈인걸로 알고 있는데
hello-1.c자체를 컴파일시 에러가 뜹니다 ... 그것도 KERN_ALERT요부분에서 말이죠 ... 물론 이 부분을 제거시 컴파일은 문제없이 됩니다..
너무나도 궁금합니다 ...저 문장하나로 인해 시작을 잘못하느냐 제대로 하느냐가 달려 있어서 .........
다시 한번 부탁드리며.... 혹시라도 이해가 가지않는 사항이 있으시면 다시 물어 봐주세요 ㅜ.ㅜ 죄송합니다..
추운 겨울~ 따뜻한 밤 되세요
Re: 모듈을 커널에 적재시키는것에 관한 문의사항
1./usr/sbin가보새여
2. KERN_ALERT는 glibc-kernheader에 있는 kernle.h에는 안정의되어있습니다./
커널 소스에 kernel.h에 정의되어있습니다.
사용하려면 소스에 있는 헤더 파일을 인클로드하고나
그냥 랩퍼 헤더파일 만드는것도 좋을듯
즐린
댓글 달기