examples/msr/init.sh
changeset 451 cd6b819c2351
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/examples/msr/init.sh	Fri Oct 27 09:46:42 2006 +0000
@@ -0,0 +1,129 @@
+#!/bin/sh
+
+#------------------------------------------------------------------------------
+#
+#  MSR Init Script
+#
+#  $Id$
+#
+#------------------------------------------------------------------------------
+
+### BEGIN INIT INFO
+# Provides:          msr
+# Required-Start:    $local_fs $syslog $network
+# Should-Start:      $time ntp ethercat
+# Required-Stop:     $local_fs $syslog $network
+# Should-Stop:       $time ntp ethercat
+# Default-Start:     3 5
+# Default-Stop:      0 1 2 6
+# Short-Description: MSR module
+# Description:
+### END INIT INFO
+
+#------------------------------------------------------------------------------
+
+# <Customizing>
+
+NAME="MSR EtherCAT sample"
+BASE=/opt/etherlab
+MSR_SERVER=$BASE/bin/msrserv.pl
+MODULE=ec_msr_sample
+RTAI_PATH=/usr/realtime
+RTAI_MODULES="hal up" # sem math
+DEVICE=msr
+DEVMASK=664
+GROUP=users
+
+# </Customizing>
+
+#------------------------------------------------------------------------------
+
+. /etc/rc.status
+rc_reset
+
+#------------------------------------------------------------------------------
+
+case "$1" in
+    start)
+	echo -n Starting $NAME" "
+
+	# Insert RTAI modules
+	for mod in $RTAI_MODULES; do
+	    if ! lsmod | grep -q "^rtai_$mod"; then
+		if ! insmod $RTAI_PATH/modules/rtai_$mod.ko; then
+		    /bin/false
+		    rc_status -v
+		    rc_exit
+		fi
+	    fi
+	done
+
+	# Insert realtime module
+	if ! modprobe $MODULE; then
+	    /bin/false
+	    rc_status -v
+	    rc_exit
+	fi
+
+	#sleep 2
+
+	# Create MSR device
+	MAJOR=`cat /proc/devices | awk "\\$2==\"$DEVICE\" {print \\$1}"`
+	rm -f /dev/${DEVICE}
+	mknod /dev/${DEVICE} c $MAJOR 0
+	chgrp $GROUP /dev/${DEVICE}
+	chmod $DEVMASK /dev/${DEVICE}
+
+	#sleep 1
+
+	# Start MSR-Server
+	startproc $MSR_SERVER 1>/dev/null 2>/dev/null
+	rc_status -v
+	;;
+
+    stop)
+	echo -n Shutting down $NAME" "
+
+	if ! killproc $MSR_SERVER; then
+	    /bin/false
+	    rc_status -v
+	    rc_exit
+	fi
+
+	if ! /sbin/rmmod $MODULE; then
+	    /bin/false
+	    rc_status -v
+	    rc_exit
+	fi
+
+	# Remove stale nodes
+	rm -f /dev/${DEVICE} /dev/${DEVICE}0
+
+	rc_status -v
+	;;
+
+    restart)
+	$0 stop || exit 1
+	sleep 1
+	$0 start
+
+	rc_status
+	;;
+
+    status)
+	echo -n "Checking for MSR module: "
+	/sbin/lsmod | grep -q "^$MODULE"
+	rc_status -v
+
+	echo -n "Checking for MSR server: "
+	checkproc $MSR_SERVER
+	rc_status -v
+	;;
+
+    *)
+	echo "Usage: $0 {start|stop|status|restart}"
+	exit 1
+	;;
+esac
+
+rc_exit
\ No newline at end of file