MagicLinux1.2下的设备驱动模块加载
os:MagicLinux1.2final本人菜鸟
最近在学添加设备驱动程序
一开始写完了dev.c之后用以前的方法gcc编译
生成dev.o文件,insmod的时候提示.o文件不是有效的模块格式
后来发现原来2.6内核的编译方法和2.4的不一样
要用makefile文件,用系统自带的Kbuild编译
于是写Makefile文件
但是在make的时候又报错:
# make
make -C /lib/modules/2.6.9/build SUBDIRS=/root/driver modules
make: *** /lib/modules/2.6.9/build: 没有那个文件或目录。 停止。
make: *** 错误 2
但是同样的源代码和makefile文件在同学的fc3 (也是2.6内核)上就没有问题
我看了一下/lib/modules/2.6.9/build,是一个链接文件,指向/usr/src/mBuild/BUILD/kerne-2.6.9/linux-2.6.9
但是/usr/src/mBuild/BUILD下面空白,没有任何文件。。。。。
难道是ML1.2没有Kbuild?
还是放在别的地方了?
如果没有的话怎样安装?
请各位大虾之指点一下
顺便,如果有比较好点的相关资料也推荐一下(最好是中文的,E文 的看的比较累)
附makefile文件的代码:
ifneq ($(KERNELRELEASE),)
obj-m := Drive.o
else
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
endif
页:
[1]