@@ -10,14 +10,21 @@ many embedded systems this is crucial to ensure all circuits on the
1010board are properly reset for the next boot, in effect ensuring the
1111system works the same after both a power-on and reboot event.
1212
13+ > [ !NOTE]
14+ > The watchdog reboot delegation can be enabled with the ` reboot-watchdog `
15+ > configuration option in ` /etc/finit.conf ` . By default this is disabled
16+ > and the system reboots directly via the SoC using the kernel's ` reboot(2) `
17+ > syscall. See [ Runlevels] ( config/runlevels.md ) for details.
18+
1319The delegation is performed at the very last steps of system shutdown,
14- if reboot has been selected and an elected watchdog is known, first a
15- ` SIGPWR ` is sent to advise watchdogd of the pending reboot. Then, when
16- the necessary steps of preparing the system for shutdown (umount etc.)
17- are completed, Finit sends ` SIGTERM ` to watchdogd and puts itself in a
18- 10 sec timeout loop waiting for the WDT to reset the board. If a reset
19- is not done before the timeout, Finit falls back to` reboot(RB_AUTOBOOT) `
20- which tells the kernel to do the reboot.
20+ if reboot has been selected, ` reboot-watchdog ` is enabled, and an elected
21+ watchdog is known. First a ` SIGPWR ` is sent to advise watchdogd of the
22+ pending reboot. Then, when the necessary steps of preparing the system
23+ for shutdown (umount etc.) are completed, Finit sends ` SIGTERM ` to
24+ watchdogd and puts itself in a 10 sec timeout loop waiting for the WDT
25+ to reset the board. If a reset is not done before the timeout, Finit
26+ falls back to ` reboot(RB_AUTOBOOT) ` which tells the kernel to do the
27+ reboot.
2128
2229An external watchdog service can also be used. The more advanced cousin
2330[ watchdogd] ( https://github.com/troglobit/watchdogd/ ) is the recommended
0 commit comments