Browse Source

VirtualBox: add initscript to svn repo.

git-svn-id: http://trac.vinelinux.org/repos/projects/specs@867 ec354946-7b23-47d6-9f5a-488ba84defc7
daisuke 14 years ago
parent
commit
bfcdbe3261
1 changed files with 115 additions and 0 deletions
  1. 115 0
      V/VirtualBox/virtualbox.init.vine

+ 115 - 0
V/VirtualBox/virtualbox.init.vine

@@ -0,0 +1,115 @@
+#! /bin/sh
+#
+# virtualbox: Starts the VirtualBox kernel module
+#
+# chkconfig: 35 30 60
+# description: VirtualBox Linux kernel module
+#
+### BEGIN INIT INFO
+# Provides:       vboxdrv
+# Required-Start: $syslog
+# Required-Stop:
+# Default-Start:  3 5
+# Default-Stop:
+# Description:    VirtualBox Linux kernel module
+# Should-Start:   dkms
+### END INIT INFO
+
+# Source function library.
+. /etc/init.d/functions
+
+prog="virtualbox"
+PROGNAME=VBoxSVC
+
+RETVAL=0
+
+running() {
+    grep -q "^$1 " /proc/modules
+}
+
+start() {
+    # Check if it is already running
+    if ! running vboxdrv; then
+	echo -n $"Starting $prog: "
+        if ! modprobe vboxdrv > /dev/null 2>&1; then
+            failure "Loading vboxdrv module:"
+	    return
+        fi
+    	if ! modprobe vboxnetflt > /dev/null 2>&1; then
+            failure "Loading vboxnetflt module:"
+	    return
+    	fi
+    	if ! modprobe vboxnetadp > /dev/null 2>&1; then
+            failure "Loading vboxnetadp module:"
+	    return
+    	fi
+	touch /var/lock/subsys/$PROGNAME
+	success
+    fi
+    echo
+}
+
+stop() {
+    echo -n "Stopping $prog: "
+    if running vboxdrv; then
+        if running vboxnetflt; then
+            if ! rmmod vboxnetflt 2>/dev/null; then
+                failure "Remove module vboxnetflt:"
+		return
+            fi
+        fi
+        if running vboxnetadp; then
+            if ! rmmod vboxnetadp 2>/dev/null; then
+                failure "Remove module vboxnetadp:"
+		return
+            fi
+        fi
+        if ! rmmod vboxdrv 2>/dev/null; then
+            failure "Remove module vboxdrv:"
+	    return
+        fi
+    fi
+    success
+    echo
+}
+
+restart() {
+    stop
+    start
+}
+
+status() {
+    echo -n $"$prog kernel module is "
+    if running vboxdrv; then
+	STATUS="loaded"
+    else
+	STATUS="not loaded"
+    fi
+    echo "$STATUS"
+}
+
+case "$1" in
+    start)
+	start
+	;;
+    stop)
+	stop
+	;;
+    restart)
+	restart
+	;;
+    condrestart)
+	if [ -f /var/lock/subsys/$PROGNAME ]; then
+	    restart
+	fi
+        ;;
+    status)
+	status
+	;;
+    *)
+	INITNAME=`basename $0`
+	echo $"Usage: $0 {start|stop|restart|condrestart|status}"
+	exit 1
+	;;
+esac
+exit $RETVAL