You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Buildroot编译内核与根文件系统后日志重复输出如何关闭?

解决Buildroot重复输出内核日志的问题

1. 关闭syslog服务(最直接方案)

如果不需要系统日志服务,直接禁用其开机启动:

  • 进入Buildroot配置界面:make menuconfig
  • 导航到System configuration -> Init system,若使用BusyBox init,取消勾选Run syslogd选项
  • 保存配置后重新编译rootfs:make
  • 烧录新rootfs到开发板,此时syslogd不会启动,内核printk将直接输出原生格式,无重复日志

若使用systemd作为init系统:

  • 在rootfs的/etc/systemd/journald.conf中添加或修改以下配置:
    ForwardToSyslog=no
    ForwardToConsole=no
    ReadKMsg=no
    
  • 重启开发板生效,journald将不再读取并重复输出内核日志

2. 保留syslog服务但禁用内核日志捕获

如果需要保留syslog服务,仅阻止它重复内核日志:

  • 针对BusyBox的syslogd,启动时添加-k参数可禁止读取内核消息:修改/etc/init.d/S01syslogd中的启动命令为syslogd -k
  • 或在Buildroot配置中,进入BusyBox -> Configuration -> System Logging Utilities -> syslogd,启用Disable reading kernel messages选项,编译后的syslogd默认不会捕获内核日志

3. 恢复内核原生输出并消除干扰

之前修改printk级别导致内核不再直接输出,可先恢复默认:echo 7 >/proc/sys/kernel/printk,再配合上述方法禁用syslog服务的内核日志捕获,即可仅保留sr501_init --> 144这类原生格式的输出

验证

重新烧录rootfs后执行insmod sr501_drv.ko,检查输出是否仅包含原生内核printk内容,无带时间戳和前缀的重复日志

内容的提问来源于stack exchange,提问作者张华华

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 15:06:47