#!/bin/sh # # virtualbox Load/unload the VirtualBox (vboxdrv) kernel module. # # chkconfig: 345 90 10 # description: The virtualbox service handles loading and unloading of the \ # VirtalBox (vboxdrv and vboxnetflt) kernel modules. # Do not load RH compatibility interface. WITHOUT_RC_COMPAT=1 # Source function library. . /etc/init.d/functions LOCKFILE=/var/lock/subsys/virtualbox MODULENAME=vboxdrv MODULENAMENET=vboxnetflt RETVAL=0 start() { action "Loading VirtualBox module ($MODULENAME):" modprobe $MODULENAME && action "Loading VirtualBox module ($MODULENAMENET):" modprobe $MODULENAMENET RETVAL=$? [ $RETVAL = 0 ] && touch "$LOCKFILE" ||: return $RETVAL } stop() { action "Unloading VirtualBox module ($MODULENAMENET):" modprobe -r $MODULENAMENET && action "Unloading VirtualBox module ($MODULENAME):" modprobe -r $MODULENAME RETVAL=$? [ $RETVAL = 0 ] && rm -f "$LOCKFILE" ||: return $RETVAL } restart() { stop start } status() { if /sbin/lsmod | grep -qs "^$MODULENAME[[:space:]]"; then echo "$MODULENAME module is loaded" if /sbin/lsmod | grep -qs "^$MODULENAMENET[[:space:]]"; then echo "$MODULENAMENET module is loaded" fi return 0 elif [ -f "$LOCKFILE" ]; then echo "$MODULENAME module is not loaded, but subsystem is locked" return 2 else echo "$MODULENAME service is stopped" return 3 fi } # See how we were called. case "$1" in start) start ;; stop) stop ;; restart) restart ;; condstop) if [ -e "$LOCKFILE" ]; then stop fi ;; condrestart) # Do nothing on package upgrade ;; status) status RETVAL=$? ;; *) msg_usage "${0##*/} {start|stop|restart|condstop|condrestart|status}" RETVAL=1 esac exit $RETVAL