我有一个嵌入式系统,运行带有内核 3.10.105 的 Buildroot Linux 的精简安装。显然大多数命令来自这里的 BusyBox,而且似乎这些命令并不总是实现常规对应项的全部功能......我想知道这里是否也没有实现更持久的日志记录,或者这可以配置?
因此,如果我执行 htop,我会看到 syslogd 和 klogd 正在运行。我可以在文件 /var/log/messages 中看到最近的内核消息。但是,该日志文件夹中没有 kern.log。里面只有:messages、resolv.conf、sshd,然后是文件夹:dbus、subsys。
我想在重新启动后检查 kern.log (或任何等效文件),以查看在使用某个驱动程序时系统冻结之前发生了什么。
我可以使用 BusyBox 工具执行此操作吗?
编辑:由于评论的一些注释:
配置:当我输入 syslogd --help 时,它提到“这个版本的 syslogd 忽略 /etc/syslog.conf ”。根据 htop,它使用选项 -n 运行,根据此帮助输出,该选项表示“在前台运行”。文件参数的唯一选项是:-O FILE,它说默认是 /var/log/messages,所以它是“实时”文件。
如果在您加载驱动程序时系统崩溃,则可能是内核崩溃,内核不会将最后的消息写入日志文件,因为它可能会损坏文件系统。
您可以使用串行控制台或网络控制台来查看最后的消息。另一种方法是“打印调试”来定位问题发生的位置。
您也可以尝试
dmesg --follow
网络连接,也许您会看到一些有用的东西。