內核與內核模塊:depmod,lsmod,modinfo,insmod,rmmod,mdprobe
睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接
模塊名稱 模塊的大小 此模塊是否被其他模塊使用
查閱每個模塊信息
#modinfo [-adln] [module_name|filename]
-a:僅列出作者名
-d:僅列出該modules的說明
-l:僅列出授權
-n:僅列出該模塊的詳細路徑
例子:#modinfo mii
三、內核模塊的加載與刪除
最好使用modprobe這個命令加載模塊,因為modprobe會主動查找modules.dep的內容,解決了依賴性后,才決定需要加載的模塊有哪些。
insmod則完全由用戶自行加載一個完整文件名的模塊,并不會主動分析模塊依賴性。
#insmod [/full/path/module_name] [parameters]
例子:嘗試載入cifs.ko這個文件系統模塊
#insmod /lib/modules/$(uname -r)/kernel/fs/cifs/cifs.ko
記住,一定要是完整的文件名。
#rmmod [-fw] module_name
-f:強制將該模塊刪除掉,不論是否正在被使用
-w:若該模塊正在被使用,則等待該模塊被使用完畢后再刪除
insmod與rmmod的問題時,你必須自行找到模塊的完整文件名才行。所以,我們一般使用modprobe.
#modprobe [-lcfr] module_name
-c:列出目前系統上面所有的模塊
-l:列出目前在/lib/modules/`uname -r`/kernel當中的所有模塊完整文件名
-f:強制加載該模塊
-r:刪除某個模塊
例子:加載cifs模塊
#modprobe cifs
很方便,因為我們根本不用知道完整的模塊文件名
內核模塊的額外參數配置:/etc/modprobe.conf
如果你想修改某些模塊的額外參數設置,就在這個文件內。
#vi /etc/modprobe.confRFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
內核與內核模塊:depmod,lsmod,modinfo,insmod,rmmod,mdprobe
首先,我們得知道內核與內核模塊放在哪里。 內核:/boot/vmlinuz或/boot/vmlinuz-version; 內核解壓縮所需RAMDisk:/boot/initrd(/boot/initrd-version); 內核模塊:/lib/modules/version/kernel或/lib/modules/$(uname -r)/kernel; 內核源碼:/usr/src/linux 或 /usr/src/kernels; 如果內核順利被加載了,會有以下幾個信息記錄: 內核版本:/proc/version 系統內核功能:/proc/sys/kernel 假如我有個新硬件,偏偏我的系統不支持,要這樣做: 重新編譯內核,并加入最新的硬件驅動程序源碼; 將該硬件的驅動程序編譯成為模塊,在啟動時加載該模塊。 下面我們著重講一下內核模塊 一、內核模塊與依賴性 基本上,內核模塊放置處是在 /lib/modules/$(uname -r)/kernel當中,里面的幾個目錄主要為: arch 與硬件平臺有關的選項 crypto 內核所支持的加密的技術 drivers 一些硬件的驅動程序 fs 內核所支持的文件系統 lib 一些函數庫 net 與網絡有關的各項協議數據,還有防火墻模塊等 sound 與音效有關的各項模塊 還有文件/lib/modules/$(uname -r)/modules.dep ,記錄了內核支持的模塊的依賴性。那么如何創建該文件呢?如下: #depmod [-Ane] -A:不加任何參數時,depmod會主動去分析目前內核的模塊,并且重新寫入/lib/modules/$(uname -r)/ modules.dep當中。如果加-A參數,則會查找比modules.dep內還要新的模塊,如果真找到,才會更新。 -n:不寫入modules.dep,而是將結果輸出到屏幕上。 -e:顯示出目前已加載的不可執行的模塊名稱。 例子:我做好一個網卡驅動程序a.ko(內核模塊名以.ko結尾),該如何更新內核的依賴性? #cp a.ko /lib/modules/$(uname -r)/kernel/drivers/net #depmod 二、內核模塊的查看 查看目前模塊加載了多少的模塊。 #lsmod
