1. lsmod 列出已經(jīng)加載的內(nèi)核模塊
lsmod 是列出目前系統(tǒng)中已加載的模塊的名稱及大小等;另外我們還可以查看 /proc/modules ,我們一樣可以知道系統(tǒng)已經(jīng)加載的模塊。
2.modinfo 查看模塊信息
modinfo 可以查看模塊的信息,通過(guò)查看模塊信息來(lái)判定這個(gè)模塊的用途。
3.modprobe 掛載新模塊以及新模塊相依賴的模塊
modprobe 我們常用的功能就是掛載模塊,在掛載某個(gè)內(nèi)核模塊的同時(shí),這個(gè)模塊所依賴的模塊也被同時(shí)掛載;當(dāng)然modprobe 也有列出內(nèi)核所有模塊,還有移除模塊的功能;下在我們舉個(gè)例子說(shuō)一說(shuō)咱們常用的功能和參數(shù);
modprobe [-v] [-V] [-C config-file] [-n] [-i] [-q] [-o ] [parameters...]
modprobe -r [-n] [-i] [-v] ...
modprobe -l -t [ -a ...]
我們可以看到在/etc/modprobe.conf文件中存在的內(nèi)容形式如下:
alias scsi_hostadapter mptbase
alias scsi_hostadapter1 mptspi
最后一列是模塊名字,中間的是模塊的別名。那么如果我們知道了一個(gè)模塊的名字,怎么知道它的別名呢?用下面的命令就可以:
#modprobe -c
可以查看所有模塊的別名
#modprobe -c 模塊名 |grep 模塊名
modprobe -l 是列出內(nèi)核中所有的模塊,包括已掛載和未掛載的;通過(guò)modprobe -l ,我們能查看到我們所需要的模塊,然后根據(jù)我們的需要來(lái)掛載;其實(shí)modprobe -l 讀取的模塊列表就位于 /lib/modules/'uname -r' 目錄中;其中uname -r 是內(nèi)核的版本;
注意: 模塊名是不能帶有后綴的,我們通過(guò)modprobe -l 所看到的模塊,都是帶有.ko 或.o后綴;
4.rmmod 移除已掛載模塊
5.depmod 創(chuàng)建模塊依賴關(guān)系的列表
這個(gè)模塊管理工具是創(chuàng)建模塊依賴關(guān)系的列表,有幾個(gè)參數(shù)我們注意一下就行了,目前的的Linux 發(fā)行版所用的內(nèi)核是2.6x版本,是自動(dòng)解決依賴關(guān)系,所以這個(gè)命令知道就行了;模塊之前也有依賴關(guān)系,比如我們想驅(qū)動(dòng)USB 移動(dòng)硬盤(pán),目前有兩種驅(qū)動(dòng),一種是udev ,在內(nèi)核中有,但目前不太穩(wěn)定;另一種辦法是用usb-storage驅(qū)動(dòng),而usb-storage 依賴的模塊是scsi 模塊,所以我們要用usb-storage 的模塊,也得把scsi 編譯安裝;
再舉個(gè)例子:sata的硬盤(pán),在Linux中的設(shè)備表示的是/dev/sd* ,比如 /dev/sda,/dev/sdb 等... 系統(tǒng)要驅(qū)動(dòng) sata硬盤(pán),則需要把sata在內(nèi)核中選中,或編譯成模塊,或內(nèi)置于內(nèi)核之中,在此同時(shí),還需要在內(nèi)核中選中ide ,scsi 的支持等;
depmod 工具的洋文原意:depmod — program to generate modules.dep and map files.(我譯的:為modules.dep 文件或映射文件創(chuàng)建依賴關(guān)系)
[root@localhost beinan]# depmod -a 注:為所有列在/etc/modprobe.conf 或/etc/modules.conf 中的所有模塊創(chuàng)建依賴關(guān)系,并且寫(xiě)入到modules.dep文件;
[root@localhost beinan]# depmod -e 注:列出已掛載但不可用的模塊;
[root@localhost beinan]# depmod -n 注:列出所有模塊的依賴關(guān)系,但僅僅是輸出出來(lái) (Write the dependency file on stdout only)
注:modules.dep 位于 /lib/modules/內(nèi)核版本 目錄
6.insmod 掛載模塊
insmod 這個(gè)工具,和modprobe 有點(diǎn)類似,但功能上沒(méi)有modprobe 強(qiáng),modprobe 在掛載模塊是不用指定模塊文件的路徑,也不用帶文件的后綴.o 或.ko ;而insmod 需要的是模塊的所在目錄的絕對(duì)路徑,并且一定要帶有模塊文件名后綴的(modulefile.o 或modulesfile.ko )
7.與內(nèi)核模塊加載相關(guān)的配置文件
模塊的配置文件 modules.conf 或 modprobe.conf
內(nèi)核模塊的開(kāi)機(jī)自動(dòng)掛載模塊一般是位于一個(gè)配置文件,一般的Linux發(fā)行版本都有 /etc/modules.conf 或 /etc/modprobe.conf 。比如Fedora Core 4.0 內(nèi)核模塊開(kāi)機(jī)自動(dòng)加載文件是 /etc/modprobe.conf ;在這個(gè)文件中,一般是寫(xiě)入模塊的加載命令或模塊的別名的定義等;比如我們?cè)趍odules.conf 中可能會(huì)發(fā)行類似的一行 ;
alias eth0 8139too
from http://blog.chinaunix.net/u2/76292/showart.php?id=2090623
posted on 2009-12-10 22:48
chatler 閱讀(322)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
linux kernel