如何为树莓派3启用bcm2835_wdt看门狗内核模块?

6

我已经尝试了6个小时来激活树莓派3的bcm2835_wdt看门狗模块,但是一直没有成功。

modprobe bcm2835_wdt 没有返回错误,但是 lsmod 命令却没有在列表中返回 bcm2835_wdt 模块。

我已经加载了 watchdog 和 chkconfig 然后;

sudo chkconfig watchdog on

当我尝试启动服务时

sudo /etc/init.d/watchdog start

我遇到了一个错误。
[....] Starting watchdog (via systemctl): watchdog.service Job for watchdog.service failed because the control process exited with error code.
See "systemctl status watchdog.service" and "journalctl -xe" for details.
 failed!

journalctl -xe  returns;

-- Kernel start-up required 2093448 microseconds.
-- 
-- Initial RAM disk start-up required INITRD_USEC microseconds.
-- 
-- Userspace start-up required 5579375635 microseconds.
Jan 11 16:03:45 al sudo[935]:     root : TTY=pts/1 ; PWD=/ ; USER=root ; COMMAND=/etc/init.d/watchdog start
Jan 11 16:03:45 al sudo[935]: pam_unix(sudo:session): session opened for user root by root(uid=0)
Jan 11 16:03:46 al systemd[1]: Starting watchdog daemon...
-- Subject: Unit watchdog.service has begun start-up
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- Unit watchdog.service has begun starting up.
Jan 11 16:03:46 al sh[949]: modprobe: **FATAL: Module dcm2835_wdt not found in directory /lib/modules/4.9.59-v7+**
Jan 11 16:03:46 al systemd[1]: watchdog.service: Control process exited, code=exited status=1
Jan 11 16:03:46 al systemd[1]: Failed to start watchdog daemon.
-- Subject: Unit watchdog.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- Unit watchdog.service has failed.

我的问题是如何在树莓派3上启用看门狗内核模块bcm2835_wdt?
谢谢您的帮助。
1个回答

6

可能bcm2835_wdt已经被编译到您的系统内核中,所以您在lsmod中看不到它。只需尝试:

# cat /lib/modules/$(uname -r)/modules.builtin | grep wdt
kernel/drivers/watchdog/bcm2835_wdt.ko

如果您可以在列表中看到它,那么它已经编译在内核中。您还可以查看是否启用了它:

journalctl --no-pager | grep -i watchdog

关于您的看门狗配置,请查看以下错误:

modprobe: **FATAL: Module dcm2835_wdt not found in directory /lib/modules/4.9.59-v7+**

该模块被称为dcm2835_wdt,而不是bcm2835_wdt。同时,请注意您的看门狗可能会被SystemD使用,因此您应该参考它来使用它。
如果您不介意,您也可以尝试使用fork bomb来查看当检测到问题时,看门狗是否能够重新启动您的系统:
python -c "import os, itertools; [os.fork() for i in itertools.count()]"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接