다른 커널소스에 대한 크로스컴파일이 아닌 자기자신 커널에 대한 모듈컴파일시는
커널소스를 따로 다운로드받거나 커널소스를 미리 컴파일할 필요가 없다.
그냥 바로 할 수 있다. 아래와같이 두 파일을 놓고 make 하면된다...
// m.c
#include <linux/module.h>
#include <linux/kernel.h>
int init_module(void){
printk("Hello World\n");
return 0; // must return 0
}
void cleanup_module(void)
{
printk("bye\n");
}
// Makefile
obj-m += m.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
Makefile 이 아주 간단하다.
여기서 /lib/modules/$(shell uname -r)/build 는 /usr/src/커널소스헤더 에 대한 심볼릭 링크이다.
'Programming' 카테고리의 다른 글
x86 assembly 16bit prefix (0) | 2013.07.10 |
---|---|
FreeBSD system call table (0) | 2013.07.10 |
python RIJNDAEL encryptor/decryptor (0) | 2013.07.02 |
FreeBSD pkg_add package install (0) | 2013.07.01 |
python malware scanner (0) | 2013.06.29 |