網站首頁 學習教育 IT科技 金融知識 旅遊規劃 生活小知識 家鄉美食 養生小知識 健身運動 美容百科 遊戲知識 綜合知識
當前位置:趣知科普吧 > IT科技 > 

insmod命令詳解|linux

欄目: IT科技 / 發佈於: / 人氣:2.76W

1、insmod命令簡介:

insmod全稱是install module,用於載入模組 install loadable kernel module。

2、語法:

insmod [-fkmpsvxX][-o <模組名稱>][模組檔案][符號名稱 = 符號值]

3、參數:

-f  不檢查目前kernel版本與模組編譯時的kernel版本是否一致,強制將模組載入。
-k  將模組設定爲自動卸除。
-m  輸出模組的載入資訊。
-o   <模組名稱>  指定模組的名稱,可使用模組檔案的檔案名。
-p  測試模組是否能正確地載入kernel。
-s  將所有資訊記錄在系統記錄檔案中。
-v  執行時顯示詳細的資訊。
-x  不要匯出模組的外部符號。
-X  匯出模組所有的外部符號,此爲預設定。

4、使用說明:

Linux有許多功能是透過模組的方式,在需要時才載入kernel。如此可使kernel較爲精簡,進而提高效率,以及保有較大的彈性。這類可載入的模組,通常是設備驅動程序。

insmod命令主要用於在Linux 2.4內核之前加載Linux內核模組命令。對於透過此命令加載的Linux內核模組,系統不僅不會自動解決內核模組之間的依賴關係,而且還要求將模組路徑寫詳細。所以在Linux 2.6內核出現時,此命令已漸漸被遺忘。

加載RAID1陣列級別模組,如下所示:

[root@rhel5 boot]# insmod /lib/modules/2.6.

18-8.el5/kernel/drivers/md/raid1.ko  

[root@rhel5 boot]# lsmod |grep raid1  

raid1                  25153  0 

從以上顯示結果可知,RAID1模組已加載成功。只是在使用insmod命令加載模組時,需要使用絕對路徑方能加載,且加載時無法自動解決依賴關係。

5、insmod 和modprobe的區別:

insmod 與 modprobe 都是載入 kernel module,不過一般差別於 modprobe 能夠處理 module 載入的相依問題。

比方你要載入 a module,但是 a module 要求系統先載入 b module 時,直接用 insmod 掛入通常都會出現錯誤訊息,不過 modprobe 倒是能夠知道先載入 b module  後才載入 a module,如此相依性就會滿足。
不過 modprobe 並不是大神,不會厲害到知道 module 之間的相依性爲何,該程式是讀取 /lib/modules/2.6.xx/modules.dep 檔案得知相依性的。而該檔案是透過 depmod 程式所建立

linux insmod命令詳解