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

RPi zero W启动watchdog服务失败报signal=SEGV错误如何解决

问题根因

你遇到的code=killed, status=11/SEGV是段错误,代表watchdog进程访问了非法内存地址,常见触发原因如下:

  • 树莓派硬件看门狗驱动未正确加载,watchdog daemon尝试访问不存在的/dev/watchdog设备节点
  • /etc/watchdog.conf配置文件参数错误,存在非法配置项
  • 安装的watchdog软件包损坏,或与当前系统版本不兼容
  • 系统内置的systemd看门狗服务与第三方watchdog daemon冲突
排查解决步骤
  • 第一步:确认硬件看门狗驱动已启用
    编辑/boot/firmware/config.txt(老旧系统路径为/boot/config.txt),确认存在配置行dtparam=watchdog=on,没有就新增后重启树莓派。
    重启后执行ls /dev | grep watchdog,正常应返回watchdog、watchdog0两个设备节点;执行lsmod | grep bcm2835_wdt确认内核模块已加载,无输出则手动执行sudo modprobe bcm2835_wdt加载。

  • 第二步:修正watchdog配置文件
    编辑/etc/watchdog.conf,仅保留以下基础配置(注释其他所有未用到的检测项,比如不存在的温度传感器、网卡等):

    watchdog-device = /dev/watchdog
    watchdog-timeout = 15
    max-load-1 = 24
    

    再编辑/etc/default/watchdog,确认配置:

    run_watchdog=1
    watchdog_module="bcm2835_wdt"
    
  • 第三步:排查软件包与冲突问题
    手动运行测试命令看是否仍报错:sudo /usr/sbin/watchdog -v -c /etc/watchdog.conf
    如果仍报段错误,执行sudo apt update && sudo apt reinstall watchdog重装软件包。
    如果你使用的是Bookworm及以上版本的树莓派OS,系统已自带systemd内置看门狗,无需安装第三方watchdog包,直接卸载该包:sudo apt remove watchdog,再修改/etc/systemd/system.conf,开启RuntimeWatchdogSec=15配置,重启系统即可生效。

  • 第四步:验证修复结果
    所有配置调整完成后执行sudo systemctl daemon-reload,再启动服务:sudo systemctl start watchdog
    执行systemctl status watchdog确认服务状态为active (running)即为修复完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:06:02