【发布时间】:2012-06-30 08:17:47
【问题描述】:
我的问题是,我正在尝试将驱动程序构建到内核中。我决定用一个简单的 Hello World 程序来测试我的代码。代码如下:
#include <linux/kernel.h>
#include <linux/err.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/printk.h>
int __init my_init(void)
{
printk(KERN_ALERT "Hello world\n");
return 0;
}
device_initcall(my_init);
//subsys_initcall(my_init);
另外, cat /proc/sys/kernel/printk 显示 7 4 1 7 从 .config 文件中,我找到“CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4”
我正在使用 Makefile 中的 obj-y += 制作文件。我发现 'make' 可以构建模块,但启动后 dmesg 或 /var/log/ 下没有出现 printk 输出。
我想知道驱动程序是否根本没有内置到内核中。有什么方法可以检查吗?
谢谢, D.
【问题讨论】: