VirtualBox

source: vbox/trunk/src/VBox/Additions/linux/installer/vboxvfs.sh@ 13027

Last change on this file since 13027 was 11274, checked in by vboxsync, 16 years ago

Linux additions kernel module: restore script levels to '2 3 4 5' as 'S' is not available on openSUSE and Fedora

  • Property svn:eol-style set to LF
  • Property svn:keywords set to Author Date Id Revision
File size: 3.8 KB
Line 
1#! /bin/sh
2# Sun xVM VirtualBox
3# Linux Additions VFS kernel module init script
4#
5# Copyright (C) 2006-2007 Sun Microsystems, Inc.
6#
7# This file is part of VirtualBox Open Source Edition (OSE), as
8# available from http://www.virtualbox.org. This file is free software;
9# you can redistribute it and/or modify it under the terms of the GNU
10# General Public License (GPL) as published by the Free Software
11# Foundation, in version 2 as it comes in the "COPYING" file of the
12# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
13# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
14#
15# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
16# Clara, CA 95054 USA or visit http://www.sun.com if you need
17# additional information or have any questions.
18#
19
20
21# chkconfig: 35 30 60
22# description: VirtualBox Linux Additions VFS kernel module
23#
24### BEGIN INIT INFO
25# Provides: vboxvfs
26# Required-Start: vboxadd
27# Required-Stop:
28# Default-Start: 2 3 4 5
29# Default-Stop: 0 1 6
30# Description: VirtualBox Linux Additions VFS kernel module
31### END INIT INFO
32
33PATH=$PATH:/bin:/sbin:/usr/sbin
34
35if [ -f /etc/redhat-release ]; then
36 system=redhat
37elif [ -f /etc/SuSE-release ]; then
38 system=suse
39elif [ -f /etc/gentoo-release ]; then
40 system=gentoo
41else
42 system=other
43fi
44
45if [ "$system" = "redhat" ]; then
46 . /etc/init.d/functions
47 fail_msg() {
48 echo_failure
49 echo
50 }
51
52 succ_msg() {
53 echo_success
54 echo
55 }
56
57 begin() {
58 echo -n "$1"
59 }
60fi
61
62if [ "$system" = "suse" ]; then
63 . /etc/rc.status
64 fail_msg() {
65 rc_failed 1
66 rc_status -v
67 }
68
69 succ_msg() {
70 rc_reset
71 rc_status -v
72 }
73
74 begin() {
75 echo -n "$1"
76 }
77fi
78
79if [ "$system" = "gentoo" ]; then
80 . /sbin/functions.sh
81 fail_msg() {
82 eend 1
83 }
84
85 succ_msg() {
86 eend $?
87 }
88
89 begin() {
90 ebegin $1
91 }
92
93 if [ "`which $0`" = "/sbin/rc" ]; then
94 shift
95 fi
96fi
97
98if [ "$system" = "other" ]; then
99 fail_msg() {
100 echo " ...fail!"
101 }
102
103 succ_msg() {
104 echo " ...done."
105 }
106
107 begin() {
108 echo -n $1
109 }
110fi
111
112kdir=/lib/modules/`uname -r`/misc
113modname=vboxvfs
114module="$kdir/$modname"
115
116fail() {
117 if [ "$system" = "gentoo" ]; then
118 eerror $1
119 exit 1
120 fi
121 fail_msg
122 echo "($1)"
123 exit 1
124}
125
126running() {
127 lsmod | grep -q "$modname[^_-]"
128}
129
130start() {
131 begin "Starting VirtualBox Additions shared folder support ";
132 running || {
133 modprobe $modname > /dev/null 2>&1 || {
134 if dmesg | grep "vboxConnect failed" > /dev/null 2>&1; then
135 fail_msg
136 echo "You may be trying to run Guest Additions from binary release of VirtualBox"
137 echo "in the Open Source Edition."
138 exit 1
139 fi
140 fail "modprobe $modname failed"
141 }
142 }
143 # Mount all shared folders from /etc/fstab. Normally this is done by some
144 # other startup script but this requires the vboxdrv kernel module loaded.
145 mount -a -t vboxsf
146 succ_msg
147 return 0
148}
149
150stop() {
151 begin "Stopping VirtualBox Additions shared folder support ";
152 if umount -a -t vboxsf 2>/dev/null; then
153 if running; then
154 rmmod $modname 2>/dev/null || fail "Cannot unload module $modname"
155 fi
156 succ_msg
157 else
158 fail "Cannot unmount vboxsf folders"
159 fi
160 return 0
161}
162
163restart() {
164 stop && start
165 return 0
166}
167
168dmnstatus() {
169 if running; then
170 echo "VirtualBox Additions shared folder support is currently running."
171 else
172 echo "VirtualBox Additions shared folder support is not currently running."
173 fi
174}
175
176case "$1" in
177start)
178 start
179 ;;
180stop)
181 stop
182 ;;
183restart)
184 restart
185 ;;
186status)
187 dmnstatus
188 ;;
189*)
190 echo "Usage: $0 {start|stop|restart|status}"
191 exit 1
192esac
193
194exit
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette