歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 核心與核心模組、加載與卸載模組

核心與核心模組、加載與卸載模組

日期:2017/3/1 16:49:44   编辑:關於Linux
核心與核心模組、加載與卸載模組 1、核心: /boot/vmlinuz 或 /boot/vmlinuz-version; 核心解壓縮所需 RAM Disk: /boot/initrd (/boot/initrd-version); 核心模組: /lib/modules/version/kernel 或 /lib/modules/$(uname -r)/kernel; 核心原始碼: /usr/src/linux (要安裝才會有!否則預設不安裝的!) www.2cto.com 2、如果該核心被順利的載入系統當中了,那麼就會有幾個資訊紀錄下來: 核心版本: /proc/version 系統核心功能: /proc/sys/kernel 3、如果我有個新的硬體,偏偏我的作業系統不支援,該怎麼辦? 重新編譯核心,並加入最新的硬體驅動程式原始碼; 或將該硬體的驅動程式編譯成為模組,在開機時載入該模組。 www.2cto.com 4、核心模組相依性 /lib/modules/$(uname -r)/modules.dep 這個檔案!他記錄了在核心支援的模組的各項相依性。 [root@www ~]# depmod [-Ane] 選項與參數: -A :不加任何參數時, depmod 會主動的去分析目前核心的模組,並且重新寫入 /lib/modules/$(uname -r)/modules.dep 當中。若加入 -A 參數時,則 depmod 會去搜尋比 modules.dep 內還要新的模組,如果真找到新模組,才會更新。 -n :不寫入 modules.dep ,而是將結果輸出到熒幕上(standard out); -e :顯示出目前已載入的不可執行的模組名稱 范例一:若我做好一個網路卡驅動程式,檔名為 a.ko,該如何更新核心相依性? [root@www ~]# cp a.ko /lib/modules/$(uname -r)/kernel/drivers/net [root@www ~]# depmod 顯示所有模組:depmod -e 5、核心模組的觀察:lsmod 目前核心載入了多少的模組?顯示的內容包括有: 模組名稱(Module); 模組的大小(size); 此模組是否被其他模組所使用 (Used by)。 6、modinfo:顯示模組詳細信息 如:[root@www ~]# modinfo mii 7、modprobe 來處理模組載入: [root@www ~]# modprobe [-lcfr] module_name 選項與參數: -c :列出目前系統所有的模組!(更詳細的代號對應表) -l :列出目前在 /lib/modules/`uname -r`/kernel 當中的所有模組完整檔名; -f :強制載入該模組; -r :類似 rmmod ,就是移除某個模組啰~ 使用 modprobe 真的是要比 insmod 方便很多!因為他是直接去搜尋 modules.dep 的紀錄, 所以啰,當然可以克服模組的相依性問題,而且還不需要知道該模組的詳細路徑呢! 8、模組卸載:modprobe -r 模組名
Copyright © Linux教程網 All Rights Reserved