红联Linux门户
Linux帮助

Fedora 7 编译《linux驱动程序设计》下的例子

发布时间:2007-09-05 10:24:58来源:红联作者:lfedorax
  我前两天在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驱动程序开发之旅吧!
文章评论

共有 2 条评论

  1. jrt88 于 2009-08-26 08:56:27发表:

    看看

  2. xbliu829 于 2009-08-24 10:55:21发表:

    没什么东西呢