kernel version이 아마 2.6 대의 것이라서 그렇습니다.
배포본은 무엇을 쓰시는지요?
fedora 3를 쓰시나요? kernel version은요?
kernel version이 2.6 이상이라면
다음과 같이 Makefile을 작성하세요.
그리고 간단히 make라고 하면 hello.ko라는 모듈이 생성됩니다.
2.6이상에서는 모듈의 확장명이 .ko입니다.
제가 해결한 부분은 일단 아래 소스입니다.
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/moduleparam.h> /* 이부분에서 2.6에선 꼭 넣어줘야
하는 헤더파일이라네요 */
int init_module() {
printk("Hello Module!! I'm in Kernel\n");
return 0;
}
The present kernel configuration has modules disabled.
Type 'make config' and enable loadable module support
Then build a kernel with module support enabled.
라고 나옵니다..커널을 재 컴파일 해아 합니까???
config의 어느부분을 건드려야 하는지 좀 가르쳐주세요 ^^
부탁드립니다.
hello.c 는 간단하게printk 함수를 썼을거로 보이는데
hello.c 는 간단하게
printk 함수를 썼을거로 보이는데
그래도 소스좀 보여주시고
어떻게 컴파일 하셨는지 좀 알려주세요
그래야 도움 드리기가 수월할듯 보입니다
개념없는 초딩들은 좋은 말로 할때 DC나 웃대가서 놀아라. 응?
kernel version이 아마 2.6 대의 것이라서 그렇습니다.배
kernel version이 아마 2.6 대의 것이라서 그렇습니다.
배포본은 무엇을 쓰시는지요?
fedora 3를 쓰시나요? kernel version은요?
kernel version이 2.6 이상이라면
다음과 같이 Makefile을 작성하세요.
그리고 간단히 make라고 하면 hello.ko라는 모듈이 생성됩니다.
2.6이상에서는 모듈의 확장명이 .ko입니다.
Makefile 만들고 실행했는데 ko파일 생성이 안되요
레드헷9 를 2.6.11로 업글했습니다. 거의 완벽하게요
#make
Makefile19 *** missing separator. 멈춤.
왜 hello.ko 파일이 안 만들어지는걸까요
Makefile 은 토시하나 안 틀리고 똑같이 했거든요
리플 좀 부탁드립니다. ^^;
흐미 넘 안되네요 도움좀 주세요
obj-m = hello.o
KDIR =/lib/modules/$(shell uname -r)/build
PWD =$(shell pwd)
default
$(MAKE) -C $(KDIR) SUBDIR=$(PWD) modules
clean
rm -rf *.ko
rm -rf *.mod*
rm -rf .*.cmd
rm -rf *.o
이렇게 Makefile 만들었구요 make 실행하면요
Makefile9 *** missing separator. 멈춤.
이런게 자꾸 뜹니다. 뭐 때매 뜨는지 도대체 알수가 없네요
답변 꼭 좀 부탁드립니다.
[quote]obj-m := hello.oKDIR :=/lib/m
obj-m :"탭추가"= hello.o
KDIR :"탭추가"=/lib/modules/$(shell uname -r)/build
PWD :"탭추가"=$(shell pwd)
default:
"탭추가"$(MAKE) -C $(KDIR) SUBDIR=$(PWD) modules
clean:
"탭추가"rm -rf *.ko
"탭추가"rm -rf *.mod*
"탭추가"rm -rf .*.cmd
"탭추가"rm -rf *.o
"탭추가" 라고 쓴부분에서 탭을 한번씩 눌러주세요..
드디어 모듈이랑 혈투 끝에 해결했습니다. 리플에 정말 감사드립
제가 해결한 부분은 일단 아래 소스입니다.
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/moduleparam.h> /* 이부분에서 2.6에선 꼭 넣어줘야
하는 헤더파일이라네요 */
int init_module() {
printk("Hello Module!! I'm in Kernel\n");
return 0;
}
void cleanup_module(void) {
printk("Bye Module!!\n");
}
Makefile 없이 걍 아래 부분으로도 충분히 컴파일이 되었습니다.
#make -C /usr/src/linux-$(uname -r) SUBDIRS=$PWD modules
2.6에서 모듈 컴파일 모두들 성공하시길 ^~^
위와 같이 컴파일을 했는데 아래 와 같이 메시지가 출력 됐습니다.
위와 같이 컴파일을 했는데 아래 와 같이 메시지가 출력 됐습니다.
The present kernel configuration has modules disabled.
Type 'make config' and enable loadable module support
Then build a kernel with module support enabled.
라고 나옵니다..커널을 재 컴파일 해아 합니까???
config의 어느부분을 건드려야 하는지 좀 가르쳐주세요 ^^
부탁드립니다.
무엇을 위해 사는가..
커널 소스로 가셔서 make xconfig 하신후나오는 메뉴중에
커널 소스로 가셔서 make xconfig 하신후
나오는 메뉴중에 Loadable module support 라는 항목이 있을겁니다.
거기서 세부메뉴중에 Enable loadable module support를 체크해서
넣어주세요.. 이부분이 빠진듯 합니다. 그리고 커널 컴파일하시구..
새커널로 부팅해 주세요.
댓글 달기