在Linux下,我们常有需要自己来编译安装驱动模块的情况,例如要安装显卡驱动,要安装无线驱动,有的时候某个程序的安装使用与需要安装相应的驱动模块。Debian Linux下的生活本已十分简单,使用apt可以处理一切。单就我们所讨论的驱动安装,一般情况下,源中也会有已编译的相应驱动可用。但是一般来说,驱动模块与所用的内核版本有着较强的依赖关系,如果源中并没有与我们所用的内核版本相匹配的驱动时,就需要我们自己手动来编译安装驱动模块了。在这样的情况,Debian下的驱动模块编译安装工具m-a就有了用武之地了。下面我们简要介绍一下如何使用m-a来手动编译安装驱动模块。
1 安装m-a
# apt-get install module-assistant
2 安装必须的软件
# apt-get install build-essential
这是编译内核和模块所必须的软件包。当然,如果我们不这样显式的安装,我们也可以使用下面的命令来安装:
# m-a prepare
正如其名字所显示的,这会为编译安装驱动模块安装必须的各种软件包,从而可以安装build-essential。
3 安装内核源码与相应的头文件
要编译安装驱动模块,我们首先要安装相应的内核源码与相应的内核头文件。当然,如果我们是自己编译安装的内核,在/usr/src目录下有编译安装内核时所用的源码,那么就可以跳过这一步了。如果不是这样,那么我们就要先安装相应的源码与头文件。
我们可以用下面的命令来确定我们所用的内核版本信息,我们将要安装的内核源码与头文件要与我们正使用的内核版本相匹配:
# uname -a
安装内核源码:
# apt-get install linux-source-`uname -r`
安装相应的头文件:
# apt-get install linux-headers-`uname -r`
4 编译安装驱动模块:
这样以后,我们就可以进入/usr/src目录下来编译安装我们所需要的驱动模块了。在安装之后,我们可以用下面的命令来驱动更新:
# m-a update
如果我们要为显卡安装fglrx驱动模块,我们就可以用下面的命令来自动安装:
# m-a a-i fglrx
这个命令可以完成相应驱动模块的自动编译安装过程。事实上,这个命令是由相应的get,build,install三个命令组成的。如果我们要详细的看到编译安装的过程,我们可以分别调用这三个命令来完成安装的过程:
获取驱动源码:
# m-a get fglrx
这会下载所指定的驱动源码,并且解压到/usr/src/modules目录下。
编译驱动模块:
# m-a build fglrx
经过编译以后就会在/usr/src/目录下生成相应的deb安装包。我们可以用m-a来安装:
# m-a install fglrx
当然,对于这样的deb包,我们也可以使用dpkg来安装:
# dpkg -i fglrx-xxx.deb
5 载入驱动模块
在安装驱动模块以后,我们可以载入驱动模块,可以来确定我们的驱动模块是否成功安装:
# modprobe fglrx
如果成功载入,则说明我们的驱动模块安装成功。否则,就要进行错误检查了。如果安装成功,我们就要编辑系统驱动配置文件,从而可以使得系统在启动的时候可以自动装入驱动模块:
# vim /etc/modules
写入系统启动时要载入的驱动模块即可。
That's all~~Enjoy it~~
分享到:
相关推荐
Intel的10G网卡(比如,82598、 82599、 x540)由ixgbe驱动支持。...这里是如何在Ubuntu、Debian或者它们的衍生版中下载安装ixgbe驱动的教程。 第一步: 安装前提 安装之前,需要安装匹配的内核头文件
这是我自己编译的debian7的kernel的image,针对bfs现在最新支持的内核版本3.16.0,而且吧vmware tools需要支持的驱动模块全部开启,可以再vmware里面高速运行。肉眼也感受得到的速度提升。比rt内核带来的影响明显多...
这是我自己编译的debian7的kernel的headers,针对bfs现在最新支持的内核版本3.16.0,而且吧vmware tools需要支持的驱动模块全部开启,可以再vmware里面高速运行。肉眼也感受得到的速度提升。比rt内核带来的影响明显...
DKMS是一个系统,当安装或更新新内核时,该系统将自动重新编译并安装内核模块。 要使用DKMS,请安装dkms软件包。 Debian / Ubuntu: sudo apt-get install dkms Arch Linux / Manjaro: sudo pacman -S dkms 要在...
但是,Tiny Core Linux的极度精简也带来了一些问题,比如说驱动不全,默认情况下它并不能全部的硬件,但用户可通过在线 Repository 自行安装硬件驱动和第三方程序,也可以手动编译所需的软件。对此,我们可以通过加...
本文主要先讲解用户层mdadm如何管理软件RAID以及使用中经常... 在流行的Linux的发布版中,如FedoraCore,Gentoo, Ubuntu,Debian,SuseLinux系统中一般已经将MD驱动模块直接编译到内核中或编译为可动态加载的驱动模块。
适用于ASUS TUF Gaming系列笔记本电脑的驱动程序模块的GUI App :laptop:如何编译.deb包git clone ...installer-debian --src dist/tufcontrol-electron/ --dest dist/installers/ --arch amd64 软件包将存在于dist / ...
按照说明进行操作时,您将需要重新编译驱动程序,并在每次内核更新和/或升级时安装内核模块。 由于我们处在21世纪,并且拥有像DKMS这样的软件,因此我们不需要手动执行此操作,而是让它自动进行。目标因此,我们在...
分析:在json的论坛中,找到了解决方案:把编译生成的/lib/pkgconfig/这个目录下生成了一个json-c.pc。最后mediastreamer2在调用的时候找的是json.pc。那么我们就把这个文件名改为json.pc #mv json-c.pc json.pc OK...
经测试的读卡器ACS ACR122(ACR122U-A9)先决条件对于运行安装步骤,由于其依赖 ,这个项目需要 ,所以请仔细阅读并满足他们的,否则就可能失败编译节点模块。 您可能必须为读卡器安装正确的驱动程序。需求安装Mac ...
原驱动在 Debian 7.6(Linux 3.2.0-amd64) 下无法支持。 安装 输入make编译模块。 新文件hanvon.ko将在当前目录中生成。 使用 root 权限加载模块 insmod ./hanvon.ko 如果一切顺利,平板电脑应立即开始工作。 诊断 在...
不要忘记更新子模块: $ git submodule init $ git submodule update OpenGL 默认情况下使用 OpenGL 2(Android 除外 - 它始终使用 GLES2)。 要使用 OpenGL 1,请将gl1参数添加到编译脚本中。 要使用 OpenGL|ES 2,...
编译PSIO / DPDK / NETMAP / ONVM驱动程序需要内核标头。 对于Debian / Ubuntu,请尝试apt-get install linux-headers-$(uname -r) 我们已经修改了dpdk软件包,以将net_device stat数据(仅适用于
用于模块编译的 unixODBC 二进制文件和开发库 在 Ubuntu/Debian 上sudo apt-get install unixodbc unixodbc-dev 在 RedHat/CentOS 上sudo yum install unixODBC unixODBC-devel 在 OSX 上 使用 macports.org sudo ...