linux设备驱动程序设计中的程序样例运行的一点说明
时间:2006-04-01 来源:lanttor.guo
我买了Linux驱动设备程序设计的第3版(基于linux内核2.6.11),在我的Fedora Core 5上运行样例,发现编译不过。
首先,检查出没有安装内核源码,下载源码kernel-2.6.15-1.2054_FC5.src.rpm进行安装:rmp -ivh kernel-2.6.15-1.2054_FC5.src.rpm。
安装后,运行样例,发现编译make有误:/lib/modules/2.6.1-l.2054_FC5/build找不到文件。查询该文件,发现是一个 符号链接,链接的位置是:/usr/src/kernels/2.6.15-l.2054_FC5,而在/usr/src目录下没有这个文件存在。
我们安装好的FC5源码树实际在/usr/src/redhat/SOURCE/linux-2.6.15下,为了解决上述问题,应当手动建立一个符号链接:
mkdir /usr/src/kernels
ln -s /usr/src/redhat/SOURCE/linux-2.6.15 /usr/src/kernels/2.6.15-l.2054_FC5
这样build就有指向正确的源码树位置了。
然后再运行make,发现样例编译时,出现许多错误:很多文件找不到。原来我们自己安装的源码树还没有经过编译,所以进入到源码树的目录,做如下操作:
make menuconfig; //Exit保存退出
make;
ok,编译驱动程序的第一个样例程序Hello,就会生成hello.o和hello.ko,然后用insmod进行模块加载。。。
希望上述说明对开始学习linux驱动程序、看那本linux设备驱动程序设计的人有一点帮助:-)
首先,检查出没有安装内核源码,下载源码kernel-2.6.15-1.2054_FC5.src.rpm进行安装:rmp -ivh kernel-2.6.15-1.2054_FC5.src.rpm。
安装后,运行样例,发现编译make有误:/lib/modules/2.6.1-l.2054_FC5/build找不到文件。查询该文件,发现是一个 符号链接,链接的位置是:/usr/src/kernels/2.6.15-l.2054_FC5,而在/usr/src目录下没有这个文件存在。
我们安装好的FC5源码树实际在/usr/src/redhat/SOURCE/linux-2.6.15下,为了解决上述问题,应当手动建立一个符号链接:
mkdir /usr/src/kernels
ln -s /usr/src/redhat/SOURCE/linux-2.6.15 /usr/src/kernels/2.6.15-l.2054_FC5
这样build就有指向正确的源码树位置了。
然后再运行make,发现样例编译时,出现许多错误:很多文件找不到。原来我们自己安装的源码树还没有经过编译,所以进入到源码树的目录,做如下操作:
make menuconfig; //Exit保存退出
make;
ok,编译驱动程序的第一个样例程序Hello,就会生成hello.o和hello.ko,然后用insmod进行模块加载。。。
希望上述说明对开始学习linux驱动程序、看那本linux设备驱动程序设计的人有一点帮助:-)
相关阅读 更多 +