diff --git a/recipes-bsp/watchdog/watchdog-5.9/init b/recipes-bsp/watchdog/watchdog-5.9/init new file mode 100644 index 0000000..d6f939a --- /dev/null +++ b/recipes-bsp/watchdog/watchdog-5.9/init @@ -0,0 +1,81 @@ +#!/bin/sh +#/etc/init.d/watchdog: start watchdog daemon. +#based on debian/init of watchdog + +### BEGIN INIT INFO +# Provides: watchdog +# Short-Description: Start software watchdog daemon +# Required-Start: $all +# Required-Stop: $all +# Should-Start: +# Should-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +### END INIT INFO + +PATH=/bin:/usr/bin:/sbin:/usr/sbin + +test -x /usr/sbin/watchdog || exit 0 + +# For configuration of the init script use the file +# /etc/default/watchdog, do not edit this init script. + +# Set run_watchdog to 1 to start watchdog or 0 to disable it. + +# Specify additional watchdog options here (see manpage). +watchdog_options="" + +# Specify module to load +watchdog_module="none" + +run_watchdog=1 + +[ -e /etc/default/watchdog ] && . /etc/default/watchdog + +NAME=watchdog + +DAEMON=/usr/sbin/watchdog + +case "$1" in + start) + if [ $run_watchdog = 1 ] + then + # do we have to load a module? + [ ${watchdog_module:-none} != "none" ] && /sbin/modprobe $watchdog_module + + # Unconditionally start watchdog daemon because we want to run it even + # if wd_keepalive wasn't running + echo "Starting watchdog daemon..." + start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \ + --exec $DAEMON -- $watchdog_options + fi + ;; + + stop) + if [ $run_watchdog = 1 ] + then + echo "Stopping watchdog daemon..." + start-stop-daemon --stop -s 9 --quiet \ + --pidfile /var/run/$NAME.pid + fi + ;; + + restart) + $0 force-reload + ;; + + force-reload) + if [ $run_watchdog = 0 ]; then exit 0; fi + echo "Restarting ${NAME}" + stop + start + ;; + + *) + echo "Usage: /etc/init.d/watchdog {start|stop|restart|force-reload}" + exit 1 + +esac + +exit 0 + diff --git a/recipes-bsp/watchdog/watchdog_5.9.bbappend b/recipes-bsp/watchdog/watchdog_5.9.bbappend index dc58997..8897f11 100644 --- a/recipes-bsp/watchdog/watchdog_5.9.bbappend +++ b/recipes-bsp/watchdog/watchdog_5.9.bbappend @@ -1,16 +1,25 @@ SYSMOCOM := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" FILESEXTRAPATHS_prepend := "${SYSMOCOM}/${PN}-${PV}:" -PRINC = "2" +PRINC = "4" -SRC_URI_append_sysmobts-v1 = " file://watchdog.conf" -SRC_URI_append_sysmobts-v2 = " file://watchdog.conf" +inherit update-rc.d + +SRC_URI_append_sysmobts-v1 = " file://watchdog.conf file://init" +SRC_URI_append_sysmobts-v2 = " file://watchdog.conf file://init" do_install_append() { if [ -e ${WORKDIR}/watchdog.conf ]; then install -D -m 0644 ${WORKDIR}/watchdog.conf ${D}/${sysconfdir}/ fi + + install -D -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/watchdog } +CONFFILES_${PN} = "${sysconfdir}/watchdog.conf" +INITSCRIPT_PACKAGES = "${PN}" +INITSCRIPT_NAME_${PN} = "watchdog" +INITSCRIPT_PARAMS_${PN} = "defaults 0 99" + # bug in poky meta/classes/base.bbclass? PACKAGE_ARCH = "${MACHINE_ARCH}"