#!/bin/bash # # Copyright (c) 2008 SUSE LINUX Products GmbH # Author: Bernhard Walle # ### BEGIN INIT INFO # Provides: kexec # Required-Start: $null # Should-Start: # Should-Stop: # Required-Stop: $local_fs $remote_fs # Default-Start: 1 2 3 5 S # Default-Stop: 1 2 3 5 S # Short-Description: Enables reboot through kexec # Description: Enables reboot through kexec ### END INIT INFO . /etc/rc.status KEXEC_BOOTLOADER=/usr/sbin/kexec-bootloader case "$1" in start) ;; stop) # Only execute that script if we're going to reboot the system. if [ "$RUNLEVEL" -eq 6 ] ; then if ! [ -f /sys/kernel/kexec_loaded ] ; then echo -n "Cannot check if kexec kernel has been loaded." rc_failed else read -t 2 kexec_loaded < /sys/kernel/kexec_loaded if [ "$kexec_loaded" -ne 0 ] ; then echo -n "kexec kernel already loaded." rc_status -s else echo -n "Loading kexec kernel for reboot ..." $KEXEC_BOOTLOADER rc_status -v fi fi else echo "Loading kexec kernel ..." rc_status -s fi ;; status) echo "not implemented" rc_status -s ;; restart|reload) $0 stop $0 start ;; *) echo $"Usage: $0 {start|stop|status|restart|reload|try-reload}" exit 1 esac rc_exit # vim: set ts=4 sw=4 et: :mode=shellscript: