iT邦幫忙

DAY 2
0

Linux kernel模組的開發系列 第 2

Kernel module 載入的程序

在 Linux 中想要知道目前在入的 kernel module 有哪些,可以透過 lsmod 命令來取得,或是輸出 /proc/modules 的內容 ( 其實 lsmod 就是從 /proc/modules 中解譯出來的)。而要載入 kernel module 的方式也很簡單,執行 modprobe 即可。但其實執行 modprobe 的背後,Linux 還進行了一些額外的動作,主要是檢查這個要載入的 kernel module 是否有其他相關聯的 module 需要一並載入才行。例如要載入支援 MS-DOS 檔案系統的 module - msdos.ko ( kernel module 的檔案名稱,慣例上都是叫做 xxx.ko) 時,系統會自動去檢查紀錄在 /lib/modules/<kernel-version>/modules.dep 中的 module 相依性。在這個例子裡,msdos.ko 需要同時載入 fat.ko.

# cat /lib/modules/2.6.18-194.el5/modules.dep | grep msdos
/lib/modules/2.6.18-194.el5/kernel/fs/msdos/msdos.ko: /lib/modules/2.6.18-194.el5/kernel/fs/fat/fat.ko

這種需要其他 module 才得以執行的 module,稱為 stacking module。


上一篇
何謂 Linux kernel module
下一篇
Hello World - Linux kernel module.
系列文
Linux kernel模組的開發30

尚未有邦友留言

立即登入留言