summaryrefslogtreecommitdiff
path: root/debian/kdump-tools.init
diff options
context:
space:
mode:
Diffstat (limited to 'debian/kdump-tools.init')
-rwxr-xr-xdebian/kdump-tools.init76
1 files changed, 76 insertions, 0 deletions
diff --git a/debian/kdump-tools.init b/debian/kdump-tools.init
new file mode 100755
index 0000000..43fe7f6
--- /dev/null
+++ b/debian/kdump-tools.init
@@ -0,0 +1,76 @@
+#! /bin/sh
+
+### BEGIN INIT INFO
+# Provides: kdump-tools
+# Required-Start: $syslog $time $local_fs $remote_fs $network
+# Required-Stop: $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop:
+# Short-Description: kdump
+# Description: init script to load a kdump kernel or save vmcores
+### END INIT INFO
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+NAME="kdump-tools"
+DESC="kdump-tools"
+export NAME
+
+. /lib/lsb/init-functions
+. /lib/init/vars.sh
+
+VMCORE_FILE=/proc/vmcore
+KDUMP_SCRIPT=/usr/sbin/kdump-config
+KDUMP_DEFAULTS=/etc/default/kdump-tools
+[ -r $KDUMP_DEFAULTS ] && . $KDUMP_DEFAULTS
+
+[ $USE_KDUMP -ne 0 ] || exit 0;
+
+case "$1" in
+ start)
+ if init_is_upstart; then
+ exit 1
+ fi
+ #
+ # If we have a /proc/vmcore, then we just kdump'ed
+ #
+ if [ -e $VMCORE_FILE -a -s $VMCORE_FILE ]; then
+ echo -n "Starting $DESC: "
+ $KDUMP_SCRIPT savecore
+ if [ $? -ne 0 -a -n "$KDUMP_FAIL_CMD" ] ; then
+ $KDUMP_FAIL_CMD ;
+ else
+ date -R ;
+ reboot -f ;
+ fi
+ #
+ # Else, we've just booted and need to load the kdump kernel
+ #
+ else
+ echo -n "Starting $DESC: "
+ $KDUMP_SCRIPT load
+ fi
+ ;;
+ stop)
+ if init_is_upstart; then
+ exit 1
+ fi
+ echo -n "Stopping $DESC: "
+ $KDUMP_SCRIPT unload
+ ;;
+ status)
+ $KDUMP_SCRIPT status
+ ;;
+ restart|force-reload)
+ if init_is_upstart; then
+ exit 1
+ fi
+ # alias the required 'force-reload' option
+ $KDUMP_SCRIPT unload
+ $KDUMP_SCRIPT load
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|status|restart|force-reload}"
+ exit 1
+esac
+
+exit 0