Chinaunix首页 | 论坛 | 博客
  • 博客访问: 544333
  • 博文数量: 105
  • 博客积分: 6010
  • 博客等级: 准将
  • 技术积分: 1132
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-15 09:57
文章分类

全部博文(105)

文章存档

2011年(1)

2009年(41)

2008年(63)

我的朋友

分类: LINUX

2009-03-16 15:28:06

假如有一天,你在linux的核心编译过程中缺少了一个核心模块或是一个硬设驱动,该如何处理?
下面提供两个解决办法:
第一:重新编译内核,(如果是无法生成驱动的情况下);
第二:把需要的东西挂载到相对应的目录下面,实现驱动。(针对的是一些硬件设备的驱动,比如:网卡,SCSI驱动等)
 
下面,举个例子来说明网卡的驱动编译跟加载过程。
 
首先下载8111网卡驱动:
下载RTL8168/8111驱动(r8168-8.006.00.tar.bz2): 
   
 
 
在红旗DC 5.0SP3的本版上面没有8111的驱动模块,
用make menuconfig查看一下,核心支持8111 千兆网卡的驱动,已经有编译成模块,但是没有驱动。这样子相对比较简单,直接把源码解压后编译成.ko文件,即可解决驱动问题。
 
接着,介绍一下对源码的编译:
# make
# make install
# depmod -a
# insmod ./r8168.ko
# lsmod | grep r8168
r8168                  41224  0

显示出,存在r8168驱动。
 
# ifconfig -a
显示是否网卡已经起来。
 
 
网卡驱动已经编译成功,但是如果是先于硬盘挂载启动的,比如SCSI驱动的话,需要编译到启动镜像里面,涉及解压启动镜像跟启动镜像的打包过程,下次继续再说。
阅读(1639) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~