当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Ubuntu系统关于驱动模块命令的一些使用

Unix/Linux
查看linux 下已经安装的软件包信息
linux 系统中软件raid 配置方法
linux 下MySQL服务器的启动与停止
linux 系统下FTP服务器配置方法
Linux系统下如何挂载U盘,硬盘,光驱
linux 系统下DHCP服务器 配置方法
Linux系统下软件的安装与卸载
在Fedora 9中启用ext4文件系统的方法
linux下挂载(mount)光盘镜像文件、移动硬盘、U盘、Windows网络共享和NFS网络共享
Linux查看文件夹大小的命令
LINUX系统grub常见错误分析
llinux fdisk分区工具 使用方法
linux 系统telnet乱码
rhythmbox 乱码的解决方法
linux单网卡绑定多ip
tar.gz 和tar.bz2 详细解释
linux学习笔记
linux系统rpm安装包详解
linux 服务器常用维护命令
出现The file /boot/grub/stage1 not read cor 解决办法

Unix/Linux 中的 Ubuntu系统关于驱动模块命令的一些使用


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 112 ::
收藏到网摘: n/a

Linux是基于模块的,所有的驱动都是模块化的:

管理模块的命令:

1、列出系统中所有已经加载的模块的大小与名称等:

lsmod或者cat /proc/modules
ty@tonylinux:~$ lsmod
Module Size Used by
rfcomm 40216 0
l2cap 26244 5 rfcomm
bluetooth 50020 4 rfcomm,l2cap
ppdev 9220 0
radeon 116000 1
........

ty@tonylinux:~$ cat /proc/modules
rfcomm 40216 0 - Live 0xf8dee000
l2cap 26244 5 rfcomm, Live 0xf8db2000
bluetooth 50020 4 rfcomm,l2cap, Live 0xf8dc2000
ppdev 9220 0 - Live 0xf8d88000
.........
2、modinfo 查看模块信息:

modinfo 可以查看模块的信息,通过查看模块信息来判定这个模块的用途。
ty@tonylinux:~$ modinfo bluetooth
filename: /lib/modules/2.6.15-27-386/kernel/net/bluetooth/bluetooth.ko
author: Maxim Krasnyansky <[email protected]>, Marcel Holtmann <[email protected]>
description: Bluetooth Core ver 2.8
version: 2.8
license: GPL
alias: net-pf-31
vermagic: 2.6.15-27-386 preempt 486 gcc-4.0
depends:
srcversion: 7EE5558C84FD3DB2B68971C
 
3、modprobe 挂载新模块以及新模块相依赖的模块

modprobe 我们常用的功能就是挂载模块,在挂载某个内核模块的同时,这个模块所依赖的模块也被同时挂载;这是于insmod挂载模块有区别的地方。当然modprobe 也有列出内核所有模块,还有移除模块的功能;下在我们举个例子说一说咱们常用的功能和参数;

modprobe -c

odprobe -c 可以查看modules 的配置文件,比如模块的别名是什么等;

modprobe -l 是列出内核中所有的模块,包括已挂载和未挂载的;通过modprobe -l ,我们能查看到我们所需要的模块,然后根据我们的需要来挂载;

[root@localhost beinan]# modprobe 模块名 注:挂载一个模块;

root@localhost beinan]# modprobe -r 模块名 注:移除已加载的模块,和rmmod 功能相同;

4、rmmod 移除已挂载模块

rmmod 模块名

5、depmod 创建模块依赖关系的列表

这个模块管理工具是创建模块依赖关系的列表,有几个参数我们注意一下就行了,目前的的Linux 发行版所用的内核是2.6x版本,是自动解决依赖关系,所以这个命令知道就行了;模块之前也有依赖关系,比如我们想驱动USB 移动硬盘,目前有两种驱动,一种是udev ,在内核中有,但目前不太稳定;另一种办法是用usb-storage驱动,而usb-storage 依赖的模块是scsi 模块,所以我们要用usb-storage 的模块,也得把scsi 安装该命令为modules.dep 文件或映射文件创建依赖关系,modules.dep文件位于 /lib/modules/2.6.15-27-i386;这是我的电脑的目录文件。

6、insmod 挂载模块

insmod 这个工具,和modprobe 有点类似,但功能上没有modprobe 强,modprobe 在挂载模块是不用指定模块文件的路径,也不用带文件的后缀.o 或.ko ;而insmod 需要的是模块的所在目录的绝对路径,并且一定要带有模块文件名后缀的(modulefile.o 或modulesfile.ko );

[root@localhost beinan]# insmod /lib/modules/2.6.11-1.1369_FC4/kernel/drivers/net/tg3.ko

模块的配置文件 modules.conf 或 modprobe.conf

内核模块的开机自动挂载模块一般是位于一个配置文件,一般的Linux发行版本都有 /etc/modules.conf 或 /etc/modprobe.conf 。比如Fedora Core 4.0 内核模块开机自动加载文件是 /etc/modprobe.conf ;在这个文件中,一般是写入模块的加载命令或模块的别名的定义等;比如我们在modules.conf 中可能会发行类似的一行 ;

通过源码编译驱动一般是./configure ;make;make install ,有时程序不提供./configure ,我们可以make或make install ,或者执行make;make install ;如果不能make install ,则需要我们自己复制.o或者.ko文件到 /lib/modules/内核版本/kernel/目录 或 /lib/modules/内核版本/kernel/drivers 目录中相应的驱动目录;

这个还是自己尝试吧,说也说不清楚,遇到问题后就知道怎么弄了;具体的还是驱动的REAME和INSTALL为准。