核心模組管理是學習linux的乙個重要的必經之路,如果不斷的使用新硬體可能這方面更顯得尤為重要。
1. lsmod 列出已經載入的核心模組
lsmod 是列出目前系統中已載入的模組的名稱及大小等;另外我們還可以檢視 /proc/modules ,我們一樣可以知道系統已經載入的模組。
2.modinfo 檢視模組資訊
modinfo 可以檢視模組的資訊,通過檢視模組資訊來判定這個模組的用途。
3.modprobe 掛載新模組以及新模組相依賴的模組
modprobe 我們常用的功能就是掛載模組,在掛載某個核心模組的同時,這個模組所依賴的模組也被同時掛載;當然modprobe 也有列出核心所有模組,還有移除模組的功能;下在我們舉個例子說一說咱們常用的功能和引數;
modprobe [-v] [-v] [-c config-file] [-n] [-i] [-q] [-o ] [parameters...]3wilinux聯盟
modprobe -r [-n] [-i] [-v] …3wilinux聯盟
modprobe -l -t [ -a ...]
我們可以看到在/etc/modprobe.conf檔案中存在的內容形式如下:
alias scsi_hostadapter mptbase3wilinux聯盟
alias scsi_hostadapter1 mptspi
最後一列是模組名字,中間的是模組的別名。那麼如果我們知道了乙個模組的名字,怎麼知道它的別名呢?用下面的命令就可以:
#modprobe -c 3wilinux聯盟
可以檢視所有模組的別名3wilinux聯盟
3wilinux聯盟
#modprobe -c 模組名 |grep 模組名
modprobe -l 是列出核心中所有的模組,包括已掛載和未掛載的;通過modprobe -l ,我們能檢視到我們所需要的模組,然後根據我們的需要來掛載;其實modprobe -l 讀取的模組列表就位於 /lib/modules/』uname -r』 目錄中;其中uname -r 是核心的版本;
注意: 模組名是不能帶有字尾的,我們通過modprobe -l 所看到的模組,都是帶有.ko 或.o字尾;
4.rmmod 移除已掛載模組
5.depmod 建立模組依賴關係的列表
這個模組管理工具是建立模組依賴關係的列表,有幾個引數我們注意一下就行了,目前的的linux 發行版所用的核心是2.6x版本,是自動解決依賴關係,所以這個命令知道就行了;模組之前也有依賴關係,比如我們想驅動usb 行動硬碟,目前有兩種驅動,一種是udev ,在核心中有,但目前不太穩定;另一種辦法是用usb-storage驅動,而usb-storage 依賴的模組是scsi 模組,所以我們要用usb-storage 的模組,也得把scsi 編譯安裝;
再舉個例子:sata的硬碟,在linux中的裝置表示的是/dev/sd* ,比如 /dev/sda,/dev/sdb 等… 系統要驅動 sata硬碟,則需要把sata在核心中選中,或編譯成模組,或內置於核心之中,在此同時,還需要在核心中選中ide ,scsi 的支援等;
depmod 工具的洋文原意:depmod — program to generate modules.dep and map files.(我譯的:為modules.dep 檔案或對映檔案建立依賴關係)
[root@localhost beinan]# depmod -a 注:為所有列在/etc/modprobe.conf 或/etc/modules.conf 中的所有模組建立依賴關係,並且寫入到modules.dep檔案;3wilinux聯盟
[root@localhost beinan]# depmod -e 注:列出已掛載但不可用的模組;3wilinux聯盟
[root@localhost beinan]# depmod -n 注:列出所有模組的依賴關係,但僅僅是輸出出來 (write the dependency file on stdout only)
注:modules.dep 位於 /lib/modules/核心版本 目錄
6.insmod 掛載模組
insmod 這個工具,和modprobe 有點類似,但功能上沒有modprobe 強,modprobe 在掛載模組是不用指定模組檔案的路徑,也不用帶檔案的字尾.o 或.ko ;而insmod 需要的是模組的所在目錄的絕對路徑,並且一定要帶有模組檔名字尾的(modulefile.o 或modulesfile.ko )
7.與核心模組載入相關的配置檔案
模組的配置檔案 modules.conf 或 modprobe.conf
核心模組的開機自動掛載模組一般是位於乙個配置檔案,一般的linux發行版本都有 /etc/modules.conf 或 /etc/modprobe.conf 。比如fedora core 4.0 核心模組開機自動載入檔案是 /etc/modprobe.conf ;在這個檔案中,一般是寫入模組的載入命令或模組的別名的定義等;比如我們在modules.conf 中可能會發行類似的一行 ;
alias eth0 8139too
Linux核心模組管理
linux 核心模組管理 目錄 核心模組路徑 檢視已載入的核心 載入與解除安裝核心模組 修改核心引數 linux核心採用的是模組化技術,這樣的設計使得系統核心可以保持最小化,同時確保了核心的可擴充套件性與可維護性,模組化設計允許我們在需要時才將模組載入至核心,實現動態核心調整。本文重點關注方法與思路...
linux核心模組相關命令
核心模組裝載 insmod modprobe 核心模組解除安裝 rmmod 核心模組查詢 lsmod modinfo insmod背後機制 insmod程式,會呼叫乙個系統呼叫 kernel module.c中的sys init module。這個系統呼叫會給模組分配核心記憶體 然後,將模組正文複製...
linux核心模組的相關命令工具
linux核心模組的相關工具 1 模組的手工載入 insmod module name 會呼叫模組的入口函式,如果是printk的資訊,用 dmesg檢視 2 模組的手工解除安裝 rmmod mod name 如果模組的引用計數不為0,則解除安裝失敗 3 顯示模組資訊 modinfo ko 4 列出...