From 63a3d15ab105239ad326933894b07b22ceca6853 Mon Sep 17 00:00:00 2001 From: gtxaspec Date: Sun, 10 Dec 2023 14:01:28 -0800 Subject: [PATCH] [no ci] overlay-files: add watchdog option to init.d (#1191) --- general/overlay/etc/init.d/S99watchdog | 54 ++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100755 general/overlay/etc/init.d/S99watchdog diff --git a/general/overlay/etc/init.d/S99watchdog b/general/overlay/etc/init.d/S99watchdog new file mode 100755 index 00000000..bc0b1cbb --- /dev/null +++ b/general/overlay/etc/init.d/S99watchdog @@ -0,0 +1,54 @@ +#!/bin/sh + +DAEMON="watchdog" + +WATCHDOG_VENDOR=$(ipcinfo -v) +WATCHDOG_ENABLED=false +WATCHDOG_TIMEOUT=60 +WATCHDOG_ARGS="-T $WATCHDOG_TIMEOUT /dev/watchdog" +SUPPORTED_VENDORS="ingenic" + +vendor_supported() { + for vendor in $SUPPORTED_VENDORS; do + [ "$WATCHDOG_VENDOR" = "$vendor" ] && return 0 + done + return 1 +} + +start() +{ + if vendor_supported && [ "$(cli -g .watchdog.enabled)" = "false" ] && [ "$WATCHDOG_ENABLED" = "true" ]; then + printf "Starting ${DAEMON}: " + start-stop-daemon -S -q -x "/sbin/${DAEMON}" -- ${WATCHDOG_ARGS} + [ $? = 0 ] && echo "OK" || echo "FAIL" + else + echo "Watchdog: Unsupported vendor or Majestic Watchdog is enabled/standalone watchdog disabled" + exit 0 + fi +} + +stop() +{ + printf "Stopping ${DAEMON}: " + if start-stop-daemon -K -q -s KILL -n "${DAEMON}"; then + echo "OK" + else + echo "FAIL" + fi +} + +case "$1" in + start|stop) + "$1" + ;; + + restart|reload) + stop + start + ;; + + *) + echo "Usage: $0 {start|stop|restart|reload}" >&2 + exit 1 + ;; +esac