我一直在试图弄清楚如何编译内核模块。我从http://www.tldp.org/LDP/lkmpg/2.6/lkmpg.pdf开始学习。然后我找到Compiling a kernel module, header problems, makefile problems来获取我的makefile。运行make后。我得到以下输出:
Building target module 2.6 kernel.
PLEASE IGNORE THE "Overriding SUBDIRS" WARNING
make -C /lib/modules/2.6.32-431.el6.i686/build SUBDIRS=/root/kerntest/hello modules
make[1]: Entering directory `/usr/src/kernels/2.6.32-431.20.3.el6.i686'
Building modules, stage 2.
MODPOST 1 modules
make[1]: Leaving directory `/usr/src/kernels/2.6.32-431.20.3.el6.i686'
我看到.ko文件,但没有看到任何显示模块已激活的内核消息。我还检查了/lib/modules/2.6.32-431.20.3.el6.i686/extra,但那里什么都没有。我也尝试过' dmesg'和' lsmod'但是没有看到它。
有人能指出我正确的方向吗?
我在CentOS 6.5上尝试这个
答案 0 :(得分:1)
使用insmod
或modprobe
编译后,您需要将模块实际加载到内核中:)