如何获取在Linux内核启动期间初始化/探测的所有模块/驱动程序的详细信息?

时间:2016-05-17 09:23:19

标签: linux linux-kernel linux-device-driver kernel-module init

我需要在kernl启动期间调用|初始化|探测的模块/驱动程序序列。

如果有任何闪存命令行选项可用于获取此序列,请告诉我吗?

2 个答案:

答案 0 :(得分:8)

传递选项" initcall_debug"在内核命令行上,将为内置驱动程序的每个init例程将计时信息打印到控制台。 initcall用于初始化静态链接的内核驱动程序和子系统,并为Linux引导过程贡献大量时间。 (在装入根文件系统之后,可装载模块才可用。)

输出如下:

calling  tty_class_init+0x0/0x44 @ 1
initcall tty_class_init+0x0/0x44 returned 0 after 9765 usecs
calling  spi_init+0x0/0x90 @ 1
initcall spi_init+0x0/0x90 returned 0 after 9765 usecs

参考:http://elinux.org/Initcall_Debug

附录

指定内核参数" ignore_loglevel"以及" initcall_debug"将确保在启动过程中显示信息。

答案 1 :(得分:0)

在内核命令行上启用initcall_debug = 1和ignore_loglevel = 1之后,我能够看到模块初始化的开始和结束时间。以下链接有更多详细信息。

https://chengyihe.wordpress.com/2015/12/13/android-kernel-enable-initcall_debug-to-debug-initcall/