I min forskning hittills har jag lagt märke till att det finns två tillvägagångssätt för att aktivera en vakthundstimer på hallon: att använda systemd eller installera vakthund. Allt förklaras bra här: https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=147501#
Och jag har lyckats få det arbetar båda sätten, men inte under omstart / avstängning. Jag använde en forkbomb för att testa den och den reagerar på det, men när jag försöker:
sudo poweroff
Det förblir bara nere. Så jag tänker finns det sätt att tvinga vakthunden att fortsätta springa under omstart / avstängning så att den återställs efter några sekunder om den inte startar ordentligt?
De flesta tillvägagångssätt startar vakthunden under start, men vad om du behöver det hela tiden? Mitt hallon stannade en gång i omstart och jag var tvungen att koppla ur / koppla in det manuellt för att få det att fungera.
UPDATE :
Vissa saker är mycket tydligare för mig nu. Det finns 3 saker att tänka på:
- vakthundstimer
- watchdog daemon
- watchdog service daemon
watchdog timer: ett register som utlöser en återställning när den flödar över, varje cykel av RPI stegas det, måste rensas (sparkas) regelbundet för att undvika återställning
För att köra det vid start lägg till följande till /boot/config.txt :
dtparam = watchdog = on
watchdog daemon: en process som ansvarar för att rensa (sparka) vakthundtimern regelbundet
Installera det:
sudo modprobe bcm2835_wdtecho "bcm2835_wdt" | sudo tee -a / etc / modulessudo apt-get install watchdogsudo update-rc.d watchdog default
Configure /etc/watchdog.conf :
watchdog-device = / dev / watchdogwatchdog-timeout = 14realtime = yespriority = 1max-load-1 = 24
Konfigurera / etc / default / watchdog :
watchdog_module = "bcm2835_wdt"
För att konfigurera det lägg till följande till /etc/modprobe.d/watchdog.conf :
referens: http://vk5tu.livejournal.com/35721.html
Parametern hjärtslag till kärnmodulen är det maximala klyftan mellan hjärtslag som ses av enheten innan hårdvaran startar om igen
Parametern nowayout avgör vad som händer när / dev / vakthundsenheten är stängd: förväntas hjärtslag fortfarande eller inte? Värdet 1 säger att nedräkningen till en omstart fortsätter och om enheten inte öppnas igen och ett hjärtslag skrivs kommer maskinen att startas om.
Aktivera det (Om detta inte fungerar , ta hand om watchdog.service och försök igen):
sudo systemctl aktivera watchdog
Övervaka den:
sudo systemctl status watchdog
watchdog service daemon: acitvates when watchdog daemon misslyckas / stoppar, kör vanligtvis en keepalive daemon som sparkar vakthund regelbundet
Konfigurera /lib/systemd/system/watchdog.service:
# OnFailure = wd_keepalive.service
- Kommentera det här inaktiverar keepalive -demon så när övervakningsdemon misslyckas / stoppar ingenting hindrar vakthundstimern från att starta om RPI
Slutligen:
Starta om RPI. När hallon startas om bör allt starta (vakthundstid för att kontrollera denna användning:
cat / var / log / syslog | grep vakthund
Förväntad utgång:
Och:
ps aux | grep watchdog
Förväntad utgång:
root 813 0,0 0,2 1888 1760? SLs 12:09 0:00 / usr / sbin / watchdogpi 900 0,0 0,2 4752 1992 poäng / 0 S + 12:10 0:00 grep --color = auto watchdog
TEST:
Döda vakthunddemon, kör:
Se process-ID och döda det:
sudo kill -9 812
Klassiskt forkbombtest, kör:
: () {: |: &} ;:
För att testa återställs hallon om omstartsprocessen misslyckas, kör:
sudo poweroff
- med den här har jag haft några problem
Hallon borde starta om efter cca 15s.