Author: glen                         Date: Thu Aug 27 17:16:45 2009 GMT
Module: packages                      Tag: HEAD
---- Log message:
- improved output, added load target

---- Files affected:
packages/kexec-tools:
   kexec.init (1.2 -> 1.3) 

---- Diffs:

================================================================
Index: packages/kexec-tools/kexec.init
diff -u packages/kexec-tools/kexec.init:1.2 packages/kexec-tools/kexec.init:1.3
--- packages/kexec-tools/kexec.init:1.2 Mon Jun 29 00:44:50 2009
+++ packages/kexec-tools/kexec.init     Thu Aug 27 19:16:40 2009
@@ -20,6 +20,30 @@
 # Get service config - may override defaults
 [ -f /etc/sysconfig/kexec ] && . /etc/sysconfig/kexec
 
+load() {
+       if [ -z "$APPEND" ]; then
+               APPEND=$(cat /proc/cmdline)
+       fi
+
+       # convert to real file for readability
+       if [ -L "$KERNEL_IMAGE" ]; then
+               KERNEL_IMAGE=$(readlink -f "$KERNEL_IMAGE")
+       fi
+
+       show "Loading kernel image: %s" "$KERNEL_IMAGE"
+       if [ -z "$INITRD" ]; then
+               kexec -l "$KERNEL_IMAGE" --append="$APPEND"
+       else
+               kexec -l "$KERNEL_IMAGE" --initrd="$INITRD" --append="$APPEND"
+       fi
+       if [ $? = 0 ]; then
+               ok
+       else
+               fail
+       fi
+
+}
+
 start() {
        if [ -f /var/lock/subsys/kexec ]; then
                return
@@ -33,40 +57,24 @@
        fi
 
        # skip if already loaded something
-       if [ "`cat /sys/kernel/kexec_loaded 2>/dev/null`" = "1" ]; then
+       if [ "$(cat /sys/kernel/kexec_loaded 2>/dev/null)" = "1" ]; then
                return
        fi
 
-       REAL_APPEND="$APPEND"
-       if [ -z "$REAL_APPEND" ]; then
-               REAL_APPEND=$(cat /proc/cmdline)
-       fi
-
-       show "Loading new kernel image (%s) into memory" "$KERNEL_IMAGE"
-       if [ -z "$INITRD" ]; then
-               kexec -l "$KERNEL_IMAGE" --append="$REAL_APPEND"
-       else
-               kexec -l "$KERNEL_IMAGE" --initrd="$INITRD" 
--append="$REAL_APPEND"
-       fi
-       if [ $? = 0 ]; then
-               ok
-       else
-               fail
-       fi
-
+       load
        rm -f /var/lock/subsys/kexec
 }
 
 status() {
-       if [ "$(cat /sys/kernel/kexec_loaded)" = 1 ]; then
-               echo "Kexec image loaded"
+       if [ "$(cat /sys/kernel/kexec_loaded 2>/dev/null)" = "1" ]; then
+               show "Kexec image loaded"; ok
        else
-               echo "Kexec image is not loaded"
+               show "Kexec image is not loaded"; fail
        fi
-       if [ "$(cat /sys/kernel/kexec_crash_loaded)" = 1 ]; then
-               echo "Kexec image for kernel crash loaded"
+       if [ "$(cat /sys/kernel/kexec_crash_loaded 2>/dev/null)" = 1 ]; then
+               show "Kexec image for kernel crash loaded"; ok
        else
-               echo "Kexec image for kernel crash is not loaded"
+               show "Kexec image for kernel crash is not loaded"; fail
        fi
 }
 
@@ -80,14 +88,17 @@
        stop
        ;;
   restart)
-       stop
+       stop
        start
        ;;
+  load)
+       load
+       ;;
   status)
        status
        ;;
   *)
-       msg_usage "$0 {start|stop|restart|status}"
+       msg_usage "$0 {start|stop|load|restart|status}"
        exit 3
 esac
 
================================================================

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kexec-tools/kexec.init?r1=1.2&r2=1.3&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to