packages: kexec-tools/kexec.init - improved output, added load target

glen glen at pld-linux.org
Thu Aug 27 19:16:45 CEST 2009


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



More information about the pld-cvs-commit mailing list