模块代码:
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
printk(KERN_ALERT "Hello, world\n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT "Goodbye, crual world\n");
}
module_init(hello_init);
module_exit(hello_exit);
Makefile:
obj-m := Hello.o
KERNELDIR := /lib/modules/2.6.32.43/build
PWD := $(shell pwd)
modules:
$(MAKE) -C $(KERNELDIR) m = &(PWD)modules
modules_install:
&(MAKE) -C $(KERNELDIR) M = $(PWD)modules_install
出错信息:
make -C /lib/modules/2.6.32.43/build m = &(PWD)modules
/bin/sh: Syntax error: word unexpected
make: *** [modules] Error 2
Ps:看书的时候,说需要配置源码树,我就从网上下了一个2.6.32.43内核源码包,并按照make->make modules_install->make install 在 /opt/kernel/ 下面顺序安装了内核... 然后编译模块的时候出错,请高手指教问题出在哪里?谢谢!