initial buildroot for linux 5.15
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
config BR2_PACKAGE_WATCHDOGD
|
||||
bool "watchdogd"
|
||||
depends on BR2_USE_MMU # fork()
|
||||
select BR2_PACKAGE_LIBCONFUSE
|
||||
select BR2_PACKAGE_LIBITE
|
||||
select BR2_PACKAGE_LIBUEV
|
||||
help
|
||||
Extended version of uClinux-dist watchdogd. Monitors loadavg,
|
||||
file descriptors and memory leaks, and capable of supervising
|
||||
your processes main loop using an instrumentation API.
|
||||
|
||||
A reset reason is saved for power loss, CPU overload, or any
|
||||
of the monitored conditions (above). The full capabilities
|
||||
are limited by the kernel watchdog driver, but even the basic
|
||||
"softdog" driver is supported. See /etc/watchdogd.conf for
|
||||
details, and try watchdogctl for system status and available
|
||||
commands.
|
||||
|
||||
https://github.com/troglobit/watchdogd/
|
||||
|
||||
if BR2_PACKAGE_WATCHDOGD
|
||||
|
||||
config BR2_PACKAGE_WATCHDOGD_TEST_SUITE
|
||||
bool "Enable watchdogctl test cases"
|
||||
help
|
||||
The watchdogctl program comes with a suite of tests built-in.
|
||||
They can be used to verify correct operation of watchdogd and
|
||||
the kernel watchdog driver.
|
||||
|
||||
config BR2_PACKAGE_WATCHDOGD_GENERIC_POLL
|
||||
int "Generic script monitor poll interval (sec)"
|
||||
default "300"
|
||||
help
|
||||
Poll interval for generic script monitor, in seconds. A value
|
||||
of zero (0) disables the monitor.
|
||||
|
||||
config BR2_PACKAGE_WATCHDOGD_LOADAVG_POLL
|
||||
int "CPU load average monitor poll interval (sec)"
|
||||
default "300"
|
||||
help
|
||||
Poll interval for CPU load average monitor, in seconds. A
|
||||
value of zero (0) disables the monitor.
|
||||
|
||||
config BR2_PACKAGE_WATCHDOGD_FILENR_POLL
|
||||
int "File descriptor leak monitor poll interval (sec)"
|
||||
default "300"
|
||||
help
|
||||
Poll interval for file descriptor leak monitor, in seconds. A
|
||||
value of zero (0) disables the monitor.
|
||||
|
||||
config BR2_PACKAGE_WATCHDOGD_MEMINFO_POLL
|
||||
int "Memory leak monitor poll interval (sec)"
|
||||
default "300"
|
||||
help
|
||||
Poll interval for memory leak monitor, in seconds. A value of
|
||||
zero (0) disables the monitor.
|
||||
|
||||
endif
|
||||
Executable
+47
@@ -0,0 +1,47 @@
|
||||
#!/bin/sh
|
||||
|
||||
DAEMON="watchdogd"
|
||||
PIDFILE="/var/run/$DAEMON.pid"
|
||||
|
||||
# shellcheck source=/dev/null
|
||||
[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON"
|
||||
|
||||
cmd()
|
||||
{
|
||||
start-stop-daemon -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" "$@"
|
||||
status=$?
|
||||
if [ $status -eq 0 ]; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "FAIL"
|
||||
fi
|
||||
return $status
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
printf 'Starting %s: ' "$DAEMON"
|
||||
# shellcheck disable=SC2086 # we need the word splitting
|
||||
cmd -S -- $SMCROUTED_ARGS
|
||||
;;
|
||||
|
||||
stop)
|
||||
printf 'Stopping %s: ' "$DAEMON"
|
||||
cmd -K
|
||||
;;
|
||||
|
||||
restart)
|
||||
$0 stop
|
||||
sleep 1
|
||||
$0 start
|
||||
;;
|
||||
|
||||
reload)
|
||||
printf 'Reloading %s: ' "$DAEMON"
|
||||
cmd -K -s HUP
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart|reload}"
|
||||
exit 1
|
||||
esac
|
||||
@@ -0,0 +1,5 @@
|
||||
# Upstream .sha256 from GitHub
|
||||
sha256 33ec4edc8cb4ada7a4d8324a27d897d33aae5e83257ed64d3d37508825c11237 watchdogd-3.5.tar.gz
|
||||
|
||||
# Locally calculated
|
||||
sha256 fd685e20931174308c45a26418a7ce34d66704c4e4b92ab1d8299deb255cd676 LICENSE
|
||||
@@ -0,0 +1,55 @@
|
||||
################################################################################
|
||||
#
|
||||
# watchdogd
|
||||
#
|
||||
################################################################################
|
||||
|
||||
WATCHDOGD_VERSION = 3.5
|
||||
WATCHDOGD_SITE = https://github.com/troglobit/watchdogd/releases/download/$(WATCHDOGD_VERSION)
|
||||
WATCHDOGD_LICENSE = ISC
|
||||
WATCHDOGD_LICENSE_FILES = LICENSE
|
||||
WATCHDOGD_CPE_ID_VENDOR = troglobit
|
||||
WATCHDOGD_DEPENDENCIES = host-pkgconf libconfuse libite libuev
|
||||
WATCHDOGD_CONF_OPTS = --disable-compat --disable-examples --disable-test-mode
|
||||
|
||||
ifneq ($(BR2_PACKAGE_WATCHDOGD_TEST_SUITE),y)
|
||||
WATCHDOGD_CONF_OPTS += --disable-builtin-tests
|
||||
else
|
||||
WATCHDOGD_CONF_OPTS += --enable-builtin-tests
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_WATCHDOGD_GENERIC_POLL),0)
|
||||
WATCHDOGD_CONF_OPTS += --without-generic
|
||||
else
|
||||
WATCHDOGD_CONF_OPTS += --with-generic=$(BR2_PACKAGE_WATCHDOGD_GENERIC_POLL)
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_WATCHDOGD_LOADAVG_POLL),0)
|
||||
WATCHDOGD_CONF_OPTS += --without-loadavg
|
||||
else
|
||||
WATCHDOGD_CONF_OPTS += --with-loadavg=$(BR2_PACKAGE_WATCHDOGD_LOADAVG_POLL)
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_WATCHDOGD_FILENR_POLL),0)
|
||||
WATCHDOGD_CONF_OPTS += --without-filenr
|
||||
else
|
||||
WATCHDOGD_CONF_OPTS += --with-filenr=$(BR2_PACKAGE_WATCHDOGD_FILENR_POLL)
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_WATCHDOGD_MEMINFO_POLL),0)
|
||||
WATCHDOGD_CONF_OPTS += --without-meminfo
|
||||
else
|
||||
WATCHDOGD_CONF_OPTS += --with-meminfo=$(BR2_PACKAGE_WATCHDOGD_MEMINFO_POLL)
|
||||
endif
|
||||
|
||||
define WATCHDOGD_INSTALL_INIT_SYSV
|
||||
$(INSTALL) -D -m 0755 package/watchdogd/S01watchdogd \
|
||||
$(TARGET_DIR)/etc/init.d/S01watchdogd
|
||||
endef
|
||||
|
||||
define WATCHDOGD_INSTALL_INIT_SYSTEMD
|
||||
$(INSTALL) -D -m 644 $(WATCHDOGD_SRCDIR)/watchdogd.service \
|
||||
$(TARGET_DIR)/usr/lib/systemd/system/watchdogd.service
|
||||
endef
|
||||
|
||||
$(eval $(autotools-package))
|
||||
Reference in New Issue
Block a user