核心模組
在整個啟動的過程中,是否能成功的驅動我們主句的硬體裝置,是核心完成的工作,而核心一般都是壓縮文件,在使用之前核心之前必須要將核心減壓到的記憶體中。
為了應對日新月異的硬體,目前核心都具有可讀取模組化驅動程式的功能,也就是所謂的(modules模組化)所謂模組化。
核心與核心模組放在:
.核心:/boot/vmlinuz或/boot/vmlinuz-version
.核心解壓縮所需的ram disk:/boot/initrd(/booy/initrd-version)
.核心模組:/lib/modules/version/kernel或/lib/modules/$(uname-r)/kernel;
.核心**:/usr/src/linux或/usr/kernels/(要安裝才會有,預設不會安裝)
如果核心被順利的載入系統當中,那麼就會有幾個日誌資訊記錄下來:
.核心版本:/proc/version
.系統核心功能:/proc/sys/kernel
如果新的硬體,而系統不支援,怎麼辦?
.重新編譯核心,並加入最新的硬體驅動程式原始碼
.將該硬體的去東莞程式編譯成為模組,啟動時載入該模組
核心模組直接的相關性
arch:與硬體平台有關的專案,例如cpu
crypto:核心所支援的加密技術,例如md5或者des等等
drivers:一些硬體的驅動程式,例如顯示卡,網絡卡,pci相關的硬體等
fs:核心所支援的filesystem
lib:一些函式庫
net:與網路相關的各項協議資料
sound:與音效有關的各項模組
如果手動的乙個乙個去檢查模組資訊,然後去定義儲存他們的相關性,我們可能會累死,所以linux當然會提供一些
模組相關性的解決方案,那就是檢查/lib/modules/$(uname -r)/modules.dep 檔案,生成這個檔案可以使用
depmod [-ane]
-a:不加任何引數時,depmod會主動的去分析目前的模組,並且重新寫入/lib/modules/$(uname-r)/modiles.dep
當中,若加入-a引數時,則depmod會去搜尋比modules.dep內還要更新的模組,如果真找到新模組,才會公升級。
-n:不寫入modules.dep,而是將結果輸出到螢幕上
-e;顯示出目前已載入的不可執行的模組名稱
核心模組的檢視:
lsmod:顯示內容包括有:
.模組名稱(module)
.模組大小(size)
.此模組是否被其他模組所使用過(used by other modules)
檢視每個模組的資訊:
modinfo [-adln] [module_name][file_name]
-a:僅列出作者名稱
-d:僅列出該modules的說明
-l:僅列出授權(license)
-n:僅列出該模組的詳細路徑。
核心模組的載入與移除
insmod [/full/path/module_name] [parameters]
移除模組:
rmmod [-fw] module_name
-f:forece
-w:wait,若該模組正在使用,則rmmod會等待該模組使用完畢,才移除他
modprobe [-lcfr] module_name :無需完整路徑名即可
-c :列出目前所有系統的模組
-l :列出目前在/lib/modules/`uname -r`/kernel
-f :強制載入該模組
-r :類似rmod,remove
核心模組的額外引數配置:/etc/modprobe.conf,現在的新版centos已經預設沒有這個配置檔案了,當然你可以自己建立,現在配置檔案是乙個資料夾/etc/modprobe.d/*
aliasing :使用模組別名載入移除
blacklist:阻止kernel載入某些模組:假如要禁止使用pcskr,使用方法
在目錄下配置這個檔案:/etc/modprobe.d/blacklist.conf
語法:#do not load the 『pcspkr』modules on boot
blacklist pcspkr
Linux核心模組
1 核心模組註冊登出 塊載入函式有返回值,模組解除安裝函式無返回值。兩者都是無參函式,載入函式用 init修飾,解除安裝函式用 exit修飾。define init attribute section init.text define exit atrribute section exit,text...
Linux 核心模組
linux 核心模組程式結構 1 模組載入函式 2 模組解除安裝函式 3 模組許可證宣告 4 模組引數 5 模組匯出符號 6 模組作者等資訊宣告 模組載入函式 一般以 init 標識 在 linux 中,所有標識為 init 的函式如果直接編譯進核心,成為核心映象的一部分,在連線的時候都會放在 in...
linux核心模組
綜述 如今linux核心整體框架十分龐大,我們如果直接把所有所需的功能編譯進核心,會導致核心十分龐大,且在現有核心中我們無法對其增減。所以linux提供一種機制 模組。我們可以根據需要,對模組進行刪減。一 乙個linux核心模組主要由如下幾個部分組成 1 模組載入函式 當通過insmod或者modp...