Linux 常用指令 Kernel Module相關
Wednesday, April 27, 2005
4/26/2005 7:48:33 PM
Linux 常用指令 Kernel Module相關
一般我們都是用Module(模組)來簡稱Kernel Module,Module是可以按需要載入(insmod)或卸載(remod)的。
這樣做可以保持Kernel大小的彈性,也可以將事先未放到Kernel的模組,動態的加到Kernel中,
例:發現Kernel目前沒有支援 bc4400網卡,那我們就可以用insmod加入bc4400的網卡Driver。
與modules有關的命令有:
lsmod:列出已經被kernel載入的module
insmod:將某個module載入到kernel中
rmmod:移除 module
depmod: 生成依賴(dependency)文件,告訴將來的 insmod 要從那個路徑檔名insmod。這個文件就存在/lib/modules/[kernel版本]/modules.dep檔案中
modprobe:載入modules.dep中記載的依賴文件
Kerneld:負責自動的將模組載入kernel和把module從內核中remod。
註:Module幾乎不是單獨的存在(就像HelloWord會用到外部printf function一樣),它會用到Kernel中的其它Symbol,而Symbol不存在時,會出現以下的訊息
/lib/modules/2.4.xx/net/qcom.o: unresolved symbol m_q_com_symbol_3bc36b01
這時你要找到m_q_com_symbol_3bc36b01這個symbol所存在的module,先載入才行,所以才會有modprobe指令的存在,避免輸入多個insmod指令
4/26/2005 7:48:33 PM
Linux 常用指令 Kernel Module相關
一般我們都是用Module(模組)來簡稱Kernel Module,Module是可以按需要載入(insmod)或卸載(remod)的。
這樣做可以保持Kernel大小的彈性,也可以將事先未放到Kernel的模組,動態的加到Kernel中,
例:發現Kernel目前沒有支援 bc4400網卡,那我們就可以用insmod加入bc4400的網卡Driver。
與modules有關的命令有:
lsmod:列出已經被kernel載入的module
insmod:將某個module載入到kernel中
rmmod:移除 module
depmod: 生成依賴(dependency)文件,告訴將來的 insmod 要從那個路徑檔名insmod。這個文件就存在/lib/modules/[kernel版本]/modules.dep檔案中
modprobe:載入modules.dep中記載的依賴文件
Kerneld:負責自動的將模組載入kernel和把module從內核中remod。
註:Module幾乎不是單獨的存在(就像HelloWord會用到外部printf function一樣),它會用到Kernel中的其它Symbol,而Symbol不存在時,會出現以下的訊息
/lib/modules/2.4.xx/net/qcom.o: unresolved symbol m_q_com_symbol_3bc36b01
這時你要找到m_q_com_symbol_3bc36b01這個symbol所存在的module,先載入才行,所以才會有modprobe指令的存在,避免輸入多個insmod指令