linux 内核模块不自动加载
linux kernel module not autoloading
我正在研究 linux 内核并从 hello world 模块开始,此时一切正常,但编译后
$ make
并安装
$ insmod akmod.ko
模块未在 KERN_DEBUG
上显示 "hello world" 消息
$ dmesg
nothing here
$
只在 rmmod 上显示
$ rmmod akmod
[4543.3423432] hello world
[5462.5323452] goodbye
代码与此处相同:http://www.makelinux.net/ldd3/chp-2-sect-2
我刚刚将 KERN_ALERT 更改为 KERN_DEBUG
我正在使用 Debian 8。
我认为发生这种情况是因为模块没有在 insmod
上自动加载
当我运行
$ make menuconfig
我找不到选项自动内核模块加载
Loadable module support --->
[*] Enable loadable module support
[*] Module unloading
[ ] Module versioning support (EXPERIMENTAL)
[*] Automatic kernel module loading **(My menu config don´t show this option)**
如有任何建议,我们将不胜感激
有时在发出 printk
和在 dmesg 中显示消息之间会有一些延迟。您可以从 dmesg 输出中看到:"hello world" 的时间戳比 "goodbye".
的时间戳少 80 秒
不知道为什么,消息的级别越高,延迟越小。您可以尝试 KERN_INFO 甚至 KERN_ALERT.
您所描述的内容听起来好像您没有在 printk 末尾包含换行符(“\n”)。
因为您没有分享您的实际代码,而且您的 insmod 显然不是来自示例。 (insmod akmod.ko?为什么是 akmod?akmod 是完全不同的东西。)调试这完全是猜测。
我正在研究 linux 内核并从 hello world 模块开始,此时一切正常,但编译后
$ make
并安装
$ insmod akmod.ko
模块未在 KERN_DEBUG
上显示 "hello world" 消息$ dmesg
nothing here
$
只在 rmmod 上显示
$ rmmod akmod
[4543.3423432] hello world
[5462.5323452] goodbye
代码与此处相同:http://www.makelinux.net/ldd3/chp-2-sect-2
我刚刚将 KERN_ALERT 更改为 KERN_DEBUG
我正在使用 Debian 8。
我认为发生这种情况是因为模块没有在 insmod
上自动加载当我运行
$ make menuconfig
我找不到选项自动内核模块加载
Loadable module support --->
[*] Enable loadable module support
[*] Module unloading
[ ] Module versioning support (EXPERIMENTAL)
[*] Automatic kernel module loading **(My menu config don´t show this option)**
如有任何建议,我们将不胜感激
有时在发出 printk
和在 dmesg 中显示消息之间会有一些延迟。您可以从 dmesg 输出中看到:"hello world" 的时间戳比 "goodbye".
不知道为什么,消息的级别越高,延迟越小。您可以尝试 KERN_INFO 甚至 KERN_ALERT.
您所描述的内容听起来好像您没有在 printk 末尾包含换行符(“\n”)。
因为您没有分享您的实际代码,而且您的 insmod 显然不是来自示例。 (insmod akmod.ko?为什么是 akmod?akmod 是完全不同的东西。)调试这完全是猜测。