讲述Linux驱动自动加载


经过长时间学习Linux驱动,于是和大家分享一下,从理论与实践Fedora LLinux操作系统看完本文你肯定有不少收获,希望本文能教会你更多东西在硬件中设置相应的显卡、显示器类型,并重启。如不设置,系统可能无法识别显卡、显示器。而且,安装IDL后可能会因为显示的问题不能启动许可程序.

1. 经常有Fedora Linux驱动系统无法进入图形界面的问题。
系统安装之后,要进入系统设置System->Administration->Display,在硬件中设置相应的显卡、显示器类型,并重启。如不设置,系统可能无法识别显卡、显示器。而且,安装IDL后可能会因为显示的问题不能启动许可程序,也不能画图。如果允许bios让OS选择显卡,可能Fedora Linux驱动会选择默认的集成显卡加载。所以,应当在Bios里禁用OS选择显卡一项,并根据系统已安装的显卡驱程型号在Bios里选择相应显卡。系统默认是识别集成显卡的。

2. Intel 的Wired 和 Atheros 的Wireless 网卡都无法自动加载。
Intel的有线网卡需要安装对应型号的Linux驱动程序,系统自带的不行。由于驱程是以模块的形式被内核加载的,所以要求操作Linux驱动系统能够编译模块。Fedora Linux驱动默认是不安装源码包的,所以编译模块所用的C header文件无法使用。必须先安装kernel-devel,其版本必须与所装系统kernel的版本一致,可通过命令'uname -r'查询kernel版本。

安装网卡驱动之前,通过‘/sbin/lspci -v’命令查看有线、无线网卡型号,本机型分别为:
Ethernet controller: Intel Corporation 82567LM Gigabit Network Connection;
Ethernet controller: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter.

有线网卡的驱动可到Intel官方网站下载,并有安装和配置的说明。网址为
http://downloadcenter.intel.com。
在左侧依次进入 Ethernet Components -> Ethernet Controllers -> Intel® 82567 Gigabit Ethernet Controller,下载最新版本的驱动程序。安装可以参看 README 文件,过程如下:
解压缩包后进入 src/ 文件夹,以超级用户身份执行命令make install,驱动程序模块将被建立在/lib/modules//kernel/drivers/net/e1000e/e1000e.[k]o 路径下。加载此模块,执行:
modprobe e1000e (或者insmod e1000e,2.6 kernel 下需要指定完整路径:insmod /lib/modules//kernel/drivers/net/e1000e/e1000e.ko),旧的模块应该事先移除:rmmod e1000e. 此时驱动程序已被系统加载,进入网络管理程序,可看到硬件标签页中已出现有线网卡。翻至设备标签页,新建有线Linux驱动设备后将地址等设置正确并激活即可使用(也许需要重启)。

无线网卡的驱动最大的问题是开始时找不对版本。网上有文章详细说明了同型号网卡驱动的安装过程,详情可参见Hyperandy’s Blog: http://blog.hyperandy.com/2008/11/01/atheros-ar242x-ubuntu-810-ibex/.
我的比较简单:
首先下载驱动程序文件http://snapshots.madwifi-project.org/madwifi-hal-0.10.5.6- current.tar.gz,解压缩进入其文件夹路径下以root身份执行make,make install,/sbin/modprobe ath_pci命令,编译、安装和加载驱动模块,其余步骤同上。

Linux驱动从头装起会遇到很多问题,基本都是其他人遇到多次的,可以参考解决,或发贴请教。必须要让Linux驱动能够使用网络,如果认为至少在Windows下可以上网就接受现实,那样将会发现只能做出很大的牺牲。

  1. 学习要点:Linux驱动开发步骤
  2. 十步学会Linux驱动开发
  3. 详解嵌入式Linux驱动入门
  4. Linux驱动程序学习步骤经典收藏
  5. 微软仍在维护其所贡献的Linux驱动

相关内容