發表文章

目前顯示的是 7月, 2017的文章

linux : kernel modules 簡介

Linux modules 基本上linux modules在編譯時候可以分為builtin modules與external modules. builtin module: 在make mennuconfig把要builtin的module設置為y. 編譯的時候就會在對應目錄產生built-in.o的檔案. 這些檔案便會被包入在image裡面. external module: 在make mennuconfig把要builtin的module設置為m. 編譯的時候就會在對應目錄產生kernel/time/test_udelay.ko的檔案. 這些檔案便會被放置在/lib/modules/$(uname -r) Modules 操作指令 顯示已安裝模組列表 root@yijyun-server:~# lsmod | head Module Size Used by usbhid 49152 0 usb_storage 69632 0 crct10dif_pclmul 16384 0 ppdev 20480 0 單一模組安裝&移除 藉由insmod與rmmod去針對單一模組進行安裝與移除 insmod [filename] [module options...] insmod /lib/modules/4.4.0-64-generic/kernel/drivers/hid/usbhid/usbhid.ko rmmod [modulename] rmmod usbhid 相依性的模組安裝&移除 藉由modprode去針對此模組進行安裝與移除. 安裝與刪除中會去移除相依性的模組 modprobe [modulename] [module parameters...] root@yijyun-server:~# modprobe cfg80211 modprobe -r [modulename...] root@yijyun-server:~# modprobe -r cfg80211 modules相關資訊 module是否為builtin 透