Raspberry Piで番犬を飼おう
2013年11月20日(水) 16:27 JST
閲覧数 8,254
Raspberry Piをリモートでハングさせてしまいました。
なぜかrebootを実行しても再起動されないので、ごにょごにょと弄っていたのです。
リモートから何も出来なくなってしまって、番犬を飼っておくべきだったと思い出した次第です。
Raspberry Piで利用されているBCM2835 SoCにはWatchDogTimerが搭載されているので利用できる筈なのです。
組込経験者であれば、WatchDogTimerは馴染みがあると思いますが、死んでいないか定期的に監視して応答しない状態になったときに強制的にリセットを掛けてくれる頼れる奴です。
追加は簡単です。
1. パッケージを追加
watchdog_moduleを以下に変更します。
watchdog-deviceを有効にします。
4. 番犬を起動
番犬と戯れるには、こんな方法があるらしい。
これを実行するとクラッシュしてくれます。
2014/02/17追記
導入時エラーがでる様になったので対処方法を記載。
insserv: warning: script 'mathkernel' missing LSB tags and overrides
なぜかrebootを実行しても再起動されないので、ごにょごにょと弄っていたのです。
リモートから何も出来なくなってしまって、番犬を飼っておくべきだったと思い出した次第です。
Raspberry Piで利用されているBCM2835 SoCにはWatchDogTimerが搭載されているので利用できる筈なのです。
組込経験者であれば、WatchDogTimerは馴染みがあると思いますが、死んでいないか定期的に監視して応答しない状態になったときに強制的にリセットを掛けてくれる頼れる奴です。
追加は簡単です。
1. パッケージを追加
$ sudo apt-get install watchdog $ sudo update-rc.d watchdog enable $ sudo modprobe bcm2708_wdog2. /etc/default/watchdog を編集
watchdog_moduleを以下に変更します。
watchdog_module="bcm2708_wdog"3. /etc/watchdog.conf を編集
watchdog-deviceを有効にします。
watchdog-device = /dev/watchdogmax-load-1を有効にするかはRaspberry Piの負荷状況に合わせてチョイス。
4. 番犬を起動
$ sudo /etc/init.d/watchdog start
番犬と戯れるには、こんな方法があるらしい。
これを実行するとクラッシュしてくれます。
:(){ :|:& };:
2014/02/17追記
導入時エラーがでる様になったので対処方法を記載。
insserv: warning: script 'mathkernel' missing LSB tags and overrides