如何在启动参数里添加 initcall_debug
时间: 2023-12-13 09:03:21 浏览: 103
在启动 Linux 内核时,可以添加 `initcall_debug` 参数来开启内核初始化函数调试信息的输出。添加该参数后,内核会在启动过程中输出各个初始化函数的调用情况,以及每个函数的返回值和执行时间。
具体操作步骤如下:
1. 在启动时按下 `e` 进入 GRUB 菜单编辑模式。
2. 定位到启动内核的命令行,通常以 `linux` 开头,类似于下面的命令:
```
linux /boot/vmlinuz-5.4.0-77-generic root=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ro quiet splash
```
3. 在该命令行的末尾添加 `initcall_debug` 参数,如下所示:
```
linux /boot/vmlinuz-5.4.0-77-generic root=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ro quiet splash initcall_debug
```
4. 按下 `Ctrl-x` 或 `F10` 启动内核,并观察内核启动时的调试信息输出。
注意事项:
- 添加参数时,需要将其添加在该命令行的末尾,并用空格分隔;
- 添加该参数需要具有管理员权限;
- 启动时输出的调试信息可能会比较多,建议使用串口或者网络调试工具进行查看。
相关问题
嵌入式linux 如何在启动参数里添加 initcall_debug
在嵌入式 Linux 中,可以通过以下步骤在启动参数里添加 initcall_debug:
1. 进入 U-Boot 命令行界面。
2. 输入命令 "printenv" 查看当前的启动参数。
3. 如果启动参数中没有 "initcall_debug",则需要手动添加。可以通过命令 "setenv bootargs ${bootargs} initcall_debug" 来添加。
4. 输入 "saveenv" 命令保存启动参数。
5. 输入 "boot" 命令启动内核。
这样,内核将启用 initcall 调试模式,并将输出 initcall 的详细信息。注意,这个设置只在当前启动中生效,重启后需要重新设置。
在启动参数里添加 initcall_debug,不能得到更多内核 log
这个问题可能是由于以下原因导致的:
1. 内核编译时没有启用 DEBUG 选项。需要在编译内核时启用 DEBUG 选项以获得更多的内核日志信息。
2. 内核启动参数设置不正确。请检查内核启动参数是否正确设置了 initcall_debug 参数。
3. 系统日志级别设置不正确。需要设置系统日志级别为 DEBUG 或更高级别,以便记录更多的内核日志信息。
4. 该问题可能还与内核版本有关。请确保使用的内核版本支持 initcall_debug 参数,并且没有已知的 bug。
希望这些提示能够帮助您解决问题。