SUSE FAQ 系列 -- SLES8 内核模块编译

发表于:2007-07-04来源:作者:点击数: 标签:
在SLES8上如何编译内核模块 Q: 在SLES8上如何编译内核模块 A: 在某些情况下,用户需要重新编译内核模块,例如:由于使用到了更新的硬件,需要升级驱动程序。 我们对用户编译驱动程序的操作做出一些假设,当实际条件满足这些条件时,驱动的编译应该 可以顺利进
在SLES8上如何编译内核模块

Q: 在SLES8上如何编译内核模块
A: 在某些情况下,用户需要重新编译内核模块,例如:由于使用到了更新的硬件,需要升级驱动程序。
    
   我们对用户编译驱动程序的操作做出一些假设,当实际条件满足这些条件时,驱动的编译应该
   可以顺利进行。
   
   1 系统上已经安装上了正确的内核源代码(在/lib/modules/`uname -r`/build)
   2 系统上已经安装好了开发工具gmake,gclearcase/" target="_blank" >cc等
   3 系统上有当前的内核配置(/boot/vmlinuz.config或/boot/config-`uname -r`,视具体情况)
   4 要编译的驱动源码内有符合相应内核编译框架的Makefile文件(obj-y, obj-m, $(TOPDIR)/Rules.make)
   
   在上述条件都已满足的情况下,假设要编译的内核驱动程序源码目录为/tmp/foobar
   
   # cd /lib/modules/`uname -r`/build
   # cp /boot/config-`uname -r` .config
   # make menuconfig
     选择'Exit'
     选择'Yes'
   # make dep
   # make SUBDIRS=/tmp/foobar modules
   
   可以测试新编译好的内核模块
   # insmod /tmp/foobar/foobar.o 
   运行dmesg检查相应的输出
   # dmesg 
 
 

原文转自:http://www.ltesting.net