Linux内核编译

上一篇 / 下一篇  2008-03-24 16:55:59 / 个人分类:Linux

在某些情况下,用户需要重新编译内核模块,例如:由于使用到了更新的硬件,需要升级驱动程序。
    
   我们对用户编译驱动程序的操作做出一些假设,当实际条件满足这些条件时,驱动的编译应该
   可以顺利进行。
   
   1 系统上已经安装上了正确的内核源代码(在/lib/modules/`uname -r`/build)
   2 系统上已经安装好了开发工具gmake,gcc等
   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

TAG: Linux

 

评分:0

我来说两句

Open Toolbar