Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-updates-src > by-pkgid > 9c90fbc038ca28f1c22e1c232e9b8a44 > files > 22

virtualbox-5.1.2-1.mga5.src.rpm

#! /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:
# Short-Description: VirtualBox Linux kernel module
# Description:    VirtualBox Linux kernel module
# Should-Start:   dkms
### END INIT INFO

# Source function library.
. /etc/init.d/functions

DAEMON=virtualbox
PROGNAME=VBoxSVC

RETVAL=0

running() {
    grep -q "^$1 " /proc/modules
}

start() {
    # Check if it is already running
    if ! running vboxdrv; then
	gprintf "Starting %s daemon: " "$DAEMON"
        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() {
    gprintf "Stopping %s daemon: " "$DAEMON"
    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() {
    if running vboxdrv; then
	STATUS="loaded"
    else
	STATUS="not loaded"
    fi
    gprintf "%s kernel module is %s\n" $DAEMON "$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`
	gprintf "Usage: %s {start|stop|restart|condrestart|status}\n" "$INITNAME"
	exit 1
	;;
esac
exit $RETVAL