我前两天在fc6下费了九牛二虎之力没有成功,今天安上了FC7,基本上什么都没有改就可以编译另了,是奇怪,现在分享给大家。
1:安装FC7,如果你不知道以后要用到什么软件最好完全安装了(像有戏,多媒体之类可以不装,但开发工具最好全装)
2:安完后检查你的/usr/src/kernels/下有没有内核的文件如果有就不用装了,如果没有要安装 kernel-devel-2.6.22.1-41.fc7,双击即可安装。
编译驱动只需这个包就足够了,见federa官方说明:
“Fedora 7 与旧版本不同,不包含 kernel-source 软件包,因为要编译外部模块,只需要 kernel-devel 软件包。已配置的源代码可以按照内核配置一节的步骤得到。”
3:下载《linux驱动程序设计》的例子文件,也可以自己抄一个。我们这里以编译scull为例
进入scull目录
我们可以看到有main.c文件
打开他.删除include中的linux/config.h 由于在2.6.19版本以后config.h文件被取消了.所以以后有config.h的地方都会报错
然后make
成功!
下面是输出
make -C /lib/modules/2.6.22.1-41.fc7/build M=/home/hide1713/Desktop/kernel/examples/scull LDDINC=/home/hide1713/Desktop/kernel/examples/scull/../include modules
make[1]: Entering directory `/usr/src/kernels/2.6.22.1-41.fc7-i686'
CC [M] /home/hide1713/Desktop/kernel/examples/scull/access.o
LD [M] /home/hide1713/Desktop/kernel/examples/scull/scull.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/hide1713/Desktop/kernel/examples/scull/scull.mod.o
LD [M] /home/hide1713/Desktop/kernel/examples/scull/scull.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.22.1-41.fc7-i686'
看到这样就是编译好了。
我们用chmod +x scull_load scull_unload 把这俩个脚本变为可执行
./scull_load
/sbin/lsmod
可以看到scull模块已经装入内核。
./scull_unload
可以卸载scull模块,开始你的linux驱动程序开发之旅吧!


jrt88 于 2009-08-26 08:56:27发表:
看看
xbliu829 于 2009-08-24 10:55:21发表:
没什么东西呢