假如有一天,你在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驱动的话,需要编译到启动镜像里面,涉及解压启动镜像跟启动镜像的打包过程,下次继续再说。
阅读(1644) | 评论(0) | 转发(0) |