请问问题出在哪里? 内核模块方面的。
我写了2个简单的模块,编译通过了,但是插入时报错说不正确的内核格式。
请高人帮我看看。
/** start.c**/
#include <linux/kernel.h>
#include <linux/module.h>
int
init_module ()
{
printk ("Hello, World!\n");
return 0;
}
/** stop.c **/
#include <linux/kernel.h>
#define __NO_VERSION__
#include <linux/module.h>
#include <linux/version.h>
void cleanup_module()
{
printk("Bye!\n");
}
/** MakeFile **/
CC=gcc
MODCFLAGS := -Wall -DMODULE -D__KERNEL__ -DLINUX
hello.o: start.o stop.o
ld -m elf_i386 -r -o hello.o start.o stop.o
start.o: start.c /usr/include/linux/version.h
$(CC) $(MODCFLAGS) -c start.c
stop.o: stop.c /usr/include/linux/version.h
$(CC) $(MODCFLAGS) -c stop.c
make 通过了。
但是 insmod hello.o 报错说
insmod: error inserting 'hello.o': -1 Invalid module format