source: projects/specs/trunk/V/VirtualBox/virtualbox.init.vine @ 867

Revision 867, 2.1 KB checked in by daisuke, 14 years ago (diff)

VirtualBox?: add initscript to svn repo.

Line 
1#! /bin/sh
2#
3# virtualbox: Starts the VirtualBox kernel module
4#
5# chkconfig: 35 30 60
6# description: VirtualBox Linux kernel module
7#
8### BEGIN INIT INFO
9# Provides:       vboxdrv
10# Required-Start: $syslog
11# Required-Stop:
12# Default-Start:  3 5
13# Default-Stop:
14# Description:    VirtualBox Linux kernel module
15# Should-Start:   dkms
16### END INIT INFO
17
18# Source function library.
19. /etc/init.d/functions
20
21prog="virtualbox"
22PROGNAME=VBoxSVC
23
24RETVAL=0
25
26running() {
27    grep -q "^$1 " /proc/modules
28}
29
30start() {
31    # Check if it is already running
32    if ! running vboxdrv; then
33        echo -n $"Starting $prog: "
34        if ! modprobe vboxdrv > /dev/null 2>&1; then
35            failure "Loading vboxdrv module:"
36            return
37        fi
38        if ! modprobe vboxnetflt > /dev/null 2>&1; then
39            failure "Loading vboxnetflt module:"
40            return
41        fi
42        if ! modprobe vboxnetadp > /dev/null 2>&1; then
43            failure "Loading vboxnetadp module:"
44            return
45        fi
46        touch /var/lock/subsys/$PROGNAME
47        success
48    fi
49    echo
50}
51
52stop() {
53    echo -n "Stopping $prog: "
54    if running vboxdrv; then
55        if running vboxnetflt; then
56            if ! rmmod vboxnetflt 2>/dev/null; then
57                failure "Remove module vboxnetflt:"
58                return
59            fi
60        fi
61        if running vboxnetadp; then
62            if ! rmmod vboxnetadp 2>/dev/null; then
63                failure "Remove module vboxnetadp:"
64                return
65            fi
66        fi
67        if ! rmmod vboxdrv 2>/dev/null; then
68            failure "Remove module vboxdrv:"
69            return
70        fi
71    fi
72    success
73    echo
74}
75
76restart() {
77    stop
78    start
79}
80
81status() {
82    echo -n $"$prog kernel module is "
83    if running vboxdrv; then
84        STATUS="loaded"
85    else
86        STATUS="not loaded"
87    fi
88    echo "$STATUS"
89}
90
91case "$1" in
92    start)
93        start
94        ;;
95    stop)
96        stop
97        ;;
98    restart)
99        restart
100        ;;
101    condrestart)
102        if [ -f /var/lock/subsys/$PROGNAME ]; then
103            restart
104        fi
105        ;;
106    status)
107        status
108        ;;
109    *)
110        INITNAME=`basename $0`
111        echo $"Usage: $0 {start|stop|restart|condrestart|status}"
112        exit 1
113        ;;
114esac
115exit $RETVAL
Note: See TracBrowser for help on using the repository browser.