ubuntu获得源码:
sudo apt-get install linux-source-2.6.27 //我选的是这一个,自己看着办吧
tar jxvf linux-source-2.6.27.tar.bz2 //看清自己的版本
6,进入源码目录后,配置文件
make oldconfig
make prepare
make scripts
关于Makefile文件:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install#PWD当前工作目录的变量
obj-m := hello.o
#hello.o是你要生成的驱动,以后可以自己改
KERNELDIR:=/lib/modules/2.6.27-7-generic/build
#这里别抄,写成你自己的版本,这个目录执行了内核源码目录
PWD:=$(shell pwd) #将当前工作目录赋值该PWD
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
modules_install:
下面是一个经典的Hello,world!例子自己make一下就行了。
#include
#include
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, cruel world!/n");
}
module_init(hello_init);
module_exit(hello_exit);