歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Ubuntu系統關於驅動模塊命令的一些使用

Ubuntu系統關於驅動模塊命令的一些使用

日期:2017/3/3 16:44:11   编辑:關於Linux

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為准。

Copyright © Linux教程網 All Rights Reserved