-1

我添加了一些 printk(KERN_ALERT "sample\n"); 进入驱动模块。如果我手动安装驱动程序,则会出现这些打印。但如果在引导过程中加载了相同的驱动程序,则不会出现该消息。

我确信在启动过程中会加载相同的模块,因为我更改了模块作者名称,以便在我执行 $modinfo 时它会出现。该模块位于内核源代码路径中,我已经编译并 $make module_install。

我正在运行 ubuntu 10.04 和内核版本 3.14.2 我缺少什么?

谢谢。

4

2 回答 2

1

好的,现在我知道错误是什么了。我没有使用新模块创建 inintramfs。所以它在引导过程中从旧的 initramfs 加载旧驱动程序。谢谢大家。

于 2015-10-25T14:49:18.960 回答
0

@silly_walker,如果控制台未初始化 printk 没有用,因为它可以将输出重定向到哪里?, printk() 只有在控制台初始化时才能输出。如果您真的想在启动过程的早期输出,请尝试使用“early_printk()”。通过以下链接,

http://www.makelinux.net/books/lkd2/ch18lev1sec3

希望这能解决你的问题!!!

于 2015-10-24T04:05:58.893 回答