linux核心程式設計學習筆記
阿新 • • 發佈:2018-12-28
常見問題
一、核心模組A呼叫核心模組B
檢視匯出的核心符號表
cat /proc/kallsyms | grep 'func_m2'
1、一個核心模組A呼叫另一個核心模組B的匯出函式,需要做到三點
1.模組B先載入
2.模組B函式匯出成功
3.模組B編譯後會有個Module.symvers,將這個Module.symvers拷貝到模組A的編譯目錄
二、核心模組如何除錯
printk + systemtap + kgdb除錯環境搭建
三、核心模組相關命令
modprobe
insmod
rmmod
printk
每次重新編譯模組後,必須解除安裝並重新載入後,針對模組的修改才會生效
四、dmesg和/var/log/messages區別
開啟syslog服務後,是一樣的
五、以iptables/netfilter的set模組為例子
需要編寫使用者態和核心態模組
使用者態iptables:libxt_set.c
核心態netfilter:xt_set.c
六、編譯核心模組的makefile
obj-y和obj-m