linux如何加载驱动 linux如何安装驱动

作者&投稿:霍贺 (若有异议请与网页底部的电邮联系)

   linux操作系统下,加载驱动的方式有二:

  1. 静态加载驱动;

  2. 动态加载驱动;

   作为前者,静态加载驱动是通过将驱动程序编译到内核而进行的一系列配置操作;对于后者而言则是向内核注册设备信息,从而在kernel启动后,再通过insmod指令,关联好主、次设备号,从而以模块的形式进行加载的;

   二者各有优点,所以应用的场合也是不一样的;



在此Linux驱动开发采用网络的方式,介绍两种驱动开发的方法:

一.驱动编译到内核

1.先选择一个放置驱动代码的位置,例:drivers/char/xxx.c

2.在drivers/char/Kconfig文件添加以下内容:

menu " xxx support"

config xxx

tristate "xxx support"

---help---

xxx use gpio as ir input .

If you want xxx support, you should say Y here and also to the

specific driver for your bus adapter(s) below.

This xxx support can be built as a module.

endmenu

3.编写Makefile,位置与上相同(drivers/char/),内容如下:

obj-$(CONFIG_xxx) += xxx.o //黑色xxx与上面Kconfig中的xxx相同,而红色xxx应与

驱动xxx.c的命名相同

4.修改上一级Makefile和Kconfig //根据自己驱动的位置做相应的修改,参考上级的Mak_

efile和Kconfig的内容

至此,修改完毕,此时你可以使用make menuconfig,发现已有 xxx support ---> 选项,进入后选择M,再make modules,到char目录下,已生成xxx.ko。

最后,再进入make menuconfig ,选择 xxx support,编译进内核.

二. 驱动作成模块加载

一般在开发时采用这种方式比较方便,无需每次都要通过tftp下载内核,nfs去挂载根文件系统,我们只需要把驱动作为模块,在本地虚拟机中完成操作。

1>.模块制作
a.驱动编译
把 xxx.c文件放入drivers/char子目录下,修改drivers/char/Makefile
obj-m += xxx.o
然后,
make modules,生成模块都 drivers/char/xxx.ko
再把 xxx.ko 放到单板根文件系统的/lib/modules/2.6.14.1(自己的内核版本)/目录下
b.驱动测试
编写测试代码及Makefile文件,make后,把生成文件放在单板跟文件系统/usr/bin/目录下
2>.调试
在根文件系统中建立设备文件:
# mknod /dev/buttons c 232 0
加载模块
# insmod s3c24xx_buttons

卸载模块
# rmmod s3c24xx_buttons

了解更多开源相关,去LUPA社区看看吧。

  1. insmod

  2. modprobe



insmod

Ubuntu linux如何安装硬件驱动~

inux的驱动一般有两种格式,分别为:tar和rpm格式。
rpm安装步骤:

1.将驱动程序文件bcm5700-.src.rpm复制到一个临时目录中,并在此目录中运行以下命令:
rpm –ivh bcm5700-.src.rpm
2.运行以下命令切换到驱动目录中:
cd /usr/src/redhat/SPECS/
3.此目录中会生成一个名字为bcm5700.spec的文件,运行以下命令对驱动程序进行编译:
rpmbuild –bb bcm5700.spec (对4.x.x版本的RPM适用)或 rpm -bb bcm5700.spec
4.运行以下命令切换到RPM目录中:
cd /usr/src/redhat/RPMS/i386/
5.运行以下命令安装驱动程序:
rpm –ivh bcm5700-.i386.rpm (对于Red Hat 7.2, 7.3, 2.1AS和其他包含老版本驱动的系统需要使用--force的参数,强制用新的驱动替换系统自带的老版本驱动)
6.运行以下命令加载驱动模块:
insmod bcm5700
7.运行kudzu命令,系统会自动搜索到硬件,进行配置即可。
或者重新启动系统,启动过程中系统会自动找到硬件,进行相应配置即可。
tar格式安装步骤:
1. 将驱动程序压缩文件bcm5700-.tar.gz复制到一个临时目录中,并使用以下命令解压缩:
tar xvzf bcm5700-.tar.gz
2.构建驱动程序为运行内核可加载模块
cd bcm5700-/src
make
3.加载测试
insmod bcm5700
4.加载驱动程序
make install
5.重新启动系统,启动过程中找到硬件,进行相应配置。
或者直接运行kudzu命令,系统会自动搜索到硬件,进行配置即可。

linux的驱动一般有两种格式,分别为:tar和rpm格式。
rpm安装步骤:

1.将驱动程序文件bcm5700-.src.rpm复制到一个临时目录中,并在此目录中运行以下命令:
rpm –ivh bcm5700-.src.rpm
2.运行以下命令切换到驱动目录中:
cd /usr/src/redhat/SPECS/
3.此目录中会生成一个名字为bcm5700.spec的文件,运行以下命令对驱动程序进行编译:
rpmbuild –bb bcm5700.spec (对4.x.x版本的RPM适用)或 rpm -bb bcm5700.spec
4.运行以下命令切换到RPM目录中:
cd /usr/src/redhat/RPMS/i386/
5.运行以下命令安装驱动程序:
rpm –ivh bcm5700-.i386.rpm (对于Red Hat 7.2, 7.3, 2.1AS和其他包含老版本驱动的系统需要使用--force的参数,强制用新的驱动替换系统自带的老版本驱动)
6.运行以下命令加载驱动模块:
insmod bcm5700
7.运行kudzu命令,系统会自动搜索到硬件,进行配置即可。
或者重新启动系统,启动过程中系统会自动找到硬件,进行相应配置即可。
tar格式安装步骤:
1. 将驱动程序压缩文件bcm5700-.tar.gz复制到一个临时目录中,并使用以下命令解压缩:
tar xvzf bcm5700-.tar.gz
2.构建驱动程序为运行内核可加载模块
cd bcm5700-/src
make
3.加载测试
insmod bcm5700
4.加载驱动程序
make install
5.重新启动系统,启动过程中找到硬件,进行相应配置。
或者直接运行kudzu命令,系统会自动搜索到硬件,进行配置即可。

如何使用U盘在Linux上安装RAID驱动
答:故障现象:在安装Linux操作系统时,使用U盘加载服务器RAID驱动 解决方案:1. 先在windows环境中把驱动拷贝到U盘上去,2. 用redhat的第一张盘引导,当出现提示你是否加载hard driver时,选择skip,这是OS没有检测到硬盘的提示,此时就可以skip,接着就要加载图形化界面了,这时候我们就可以按CTRL+ALT+F2...

linux系统下安装usb网卡驱动图文?
答:确认 usb-wifi 设备型号 , 根据确认结果选择驱动信息。安装驱动 mt7601u , 如果已经自带跳过此步骤 配置驱动启动后自动加载。重启验证是否成功的自动加载驱动模块。确认 usb-wifi 设备型号 , 根据确认结果选择驱动信息。初始USB接入时加载显示 lsusb| grep Ralink Bus 001 Device 003: ID 148f:2878 ...

在LINUX中如何加载驱动网卡
答:直接找好对应的驱动 一般都会有readme 或者install 之类的说明文档来告诉你如何去安装这个网卡驱动的 Linux* Base Driver for the Atheros(R) AR8121/AR8113 PCI-E Ethernet Adapter === Contents === - In This Release - Building and Installation - Command Line Parameters - Additional Con...

linux下如何安装硬件驱动程序?
答:一般linux都可以识别大部分硬件 显卡或其他不能识别的驱动要在相应的官方网站下载 然后字符模式下chmod 755 再./安装

linux系统中没有USB驱动怎么办?
答:在Linux下这些设备通常都是以一种叫做usb-storage的方式进行驱动。要使用他们必须加载此模块 modprobe usb-storage当然,usbcore.o 和usb-uhci.o或usb-ohci也肯定是不可缺少的。另外,若你系统中SCSI支持也是模块方式,那么下面的模块也要加载 modprobe scsi_mod modprobe sd_mod在加载完这些模块后,我们插入U盘或存储...

linux redhat系统下 怎么装显卡驱动
答:1、到NV官网:http://www.nvidia.cn/Download/index.aspx?lang=cn 下载295.59版本Linux驱动。得到一个以.run结尾的安装文件,赋予它可执行权限。如果开启了SElinux模块,请先禁用!复制代码 代码如下:chmod +x NVIDIA-Linux-x86_64-295.59.run 2、编辑blacklist.conf文件,禁止nouveau模块的加载:复...

linux下无线网卡如何驱动
答:linux下无线网卡具体驱动的操作方法如下:1、首先需要确定网卡的类型,打开linux的输入窗口,然后继续在linux终端下输入lsusb命令,此时在输出栏的第一行可以查看网卡类型,记录下来。2、从弹出页面可以看到的型号是relteck 5370,打开mediat的网址,下载Linux插件,在网页最左侧一栏。3、此时进入官网首页,参照...

linux操作系统及驱动安装
答:肯定要的 你可以这样做的 :现在很多人再买到服务器之后要装linux系统,但是没有linux环境,无法按照上边的步骤来把驱动写到U盘上去,经测试发现可以用redhat的第一张盘来创造这样一个linux环境,假设现在要加载的驱动为LSI sas raid卡的驱动 步骤如下:1、先在windows环境中把驱动拷贝到U盘上去,2、用...

Linux如何配置nVIDIA显卡驱动
答:首先我们需要结束x-window的服务,否则驱动将无法正常安装 关闭X-Window,很简单:sudo service lightdm stop,然后切换tty1控制台:Ctrl+Alt+F1即可 4)接下来就是最关键的一步了:sudo./NVIDIA-Linux-x86_64-440.44.run开始安装,安装过程比较快,根据提示选择即可最后安装完毕后,重新启动X-Window:...

bcm94352z在Linux下要怎么驱动
答:4.运行以下命令切换到RPM目录中:cd /usr/src/redhat/RPMS/i386/ 5.运行以下命令安装驱动程序:rpm –ivh bcm5700-.i386.rpm (对于Red Hat 7.2, 7.3, 2.1AS和其他包含老版本驱动的系统需要使用--force的参数,强制用新的驱动替换系统自带的老版本驱动)6.运行以下命令加载驱动模块:insmod ...