- Timestamp:
- Dec 16, 2008 2:00:12 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 41094
- Location:
- trunk/src/VBox/Additions/linux
- Files:
-
- 1 deleted
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/linux/Makefile.kmk
r12446 r15585 98 98 $(PATH_BIN)/additions/vboxvideo_drv_14.so \ 99 99 $(PATH_BIN)/additions/vboxvideo_drv_15.so \ 100 $( VBOX_PATH_LINUX_ADDITION_INSTALLER)/vboxvfs.sh $(PATH_BIN)/additions/mountvboxsf \100 $(PATH_BIN)/additions/mountvboxsf \ 101 101 $(VBOX_SELINUX_CMPLD) \ 102 102 $(wildcard $(PATH_BIN)/additions/src/*) \ … … 149 149 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/vboxvideo_drv_15.so $(VBOX_LNX_ADD_INS_OUT_DIR)/vboxvideo_drv_15.so 150 150 $(QUIET)$(VBOX_LNX_ADD_BIN_COPY) $(PATH_BIN)/additions/mountvboxsf $(VBOX_LNX_ADD_INS_OUT_DIR)/mount.vboxsf 151 $(QUIET)$(INSTALL) -m 0755 $(VBOX_PATH_LINUX_ADDITION_INSTALLER)/vboxvfs.sh $(VBOX_LNX_ADD_INS_OUT_DIR)152 151 ifdef VBOX_SELINUX_CMPLD 153 152 $(QUIET)$(INSTALL) -m 0755 $(VBOX_SELINUX_CMPLD) $(VBOX_LNX_ADD_INS_OUT_DIR) -
trunk/src/VBox/Additions/linux/installer/vboxadd.sh
r11274 r15585 20 20 21 21 # chkconfig: 35 30 60 22 # description: VirtualBox Linux Additions kernel module 22 # description: VirtualBox Linux Additions kernel modules 23 23 # 24 24 ### BEGIN INIT INFO … … 28 28 # Default-Start: 2 3 4 5 29 29 # Default-Stop: 0 1 6 30 # Description: VirtualBox Linux Additions kernel module 30 # Description: VirtualBox Linux Additions kernel modules 31 31 ### END INIT INFO 32 32 33 33 PATH=$PATH:/bin:/sbin:/usr/sbin 34 BUILDVBOXADD=`/bin/ls /usr/src/vboxadd*/build_in_tmp 2>/dev/null|cut -d' ' -f1` 35 BUILDVBOXVFS=`/bin/ls /usr/src/vboxvfs*/build_in_tmp 2>/dev/null|cut -d' ' -f1` 36 LOG="/var/log/vboxadd-install.log" 34 37 35 38 if [ -f /etc/redhat-release ]; then … … 110 113 fi 111 114 112 kdir=/lib/modules/`uname -r`/misc113 115 dev=/dev/vboxadd 114 modname=vboxadd115 module=$kdir/$modname116 116 owner=vboxadd 117 117 group=1 118 118 119 fail() { 119 fail() 120 { 120 121 if [ "$system" = "gentoo" ]; then 121 122 eerror $1 … … 127 128 } 128 129 129 running() { 130 lsmod | grep -q "$modname[^_-]" 131 } 132 133 start() { 130 running_vboxadd() 131 { 132 lsmod | grep -q "vboxadd[^_-]" 133 } 134 135 running_vboxvfs() 136 { 137 lsmod | grep -q "vboxvfs[^_-]" 138 } 139 140 start() 141 { 134 142 begin "Starting VirtualBox Additions "; 135 running || {143 running_vboxadd || { 136 144 rm -f $dev || { 137 145 fail "Cannot remove $dev" 138 146 } 139 147 140 modprobe $modname >/dev/null 2>&1 || { 141 fail "modprobe $modname failed" 142 } 143 148 modprobe vboxadd >/dev/null 2>&1 || { 149 fail "modprobe vboxadd failed" 150 } 144 151 sleep .5 145 152 } … … 155 162 fi 156 163 test -z "$maj" && { 157 rmmod $modname2>/dev/null164 rmmod vboxadd 2>/dev/null 158 165 fail "Cannot locate the VirtualBox device" 159 166 } 160 167 161 168 mknod -m 0664 $dev c $maj $min || { 162 rmmod $modname2>/dev/null169 rmmod vboxadd 2>/dev/null 163 170 fail "Cannot create device $dev with major $maj and minor $min" 164 171 } 165 172 fi 166 167 173 chown $owner:$group $dev 2>/dev/null || { 168 rmmod $modname2>/dev/null174 rmmod vboxadd 2>/dev/null 169 175 fail "Cannot change owner $owner:$group for device $dev" 170 176 } 177 178 if [ -n "$BUILDVBOXVFS" ]; then 179 running_vboxvfs || { 180 modprobe vboxvfs > /dev/null 2>&1 || { 181 if dmesg | grep "vboxConnect failed" > /dev/null 2>&1; then 182 fail_msg 183 echo "You may be trying to run Guest Additions from binary release of VirtualBox" 184 echo "in the Open Source Edition." 185 exit 1 186 fi 187 fail "modprobe vboxvfs failed" 188 } 189 } 190 fi 191 192 # Mount all shared folders from /etc/fstab. Normally this is done by some 193 # other startup script but this requires the vboxdrv kernel module loaded. 194 mount -a -t vboxsf 171 195 172 196 succ_msg … … 174 198 } 175 199 176 stop() { 200 stop() 201 { 177 202 begin "Stopping VirtualBox Additions "; 178 if running; then 179 rmmod $modname 2>/dev/null || fail "Cannot unload module $modname" 203 if !umount -a -t vboxsf 2>/dev/null; then 204 fail "Cannot unmount vboxsf folders" 205 fi 206 if [ -n "$BUILDVBOXVFS" ]; then 207 if running_vboxvfs; then 208 rmmod vboxvfs 2>/dev/null || fail "Cannot unload module vboxvfs" 209 fi 210 fi 211 if running_vboxadd; then 212 rmmod vboxadd 2>/dev/null || fail "Cannot unload module vboxadd" 180 213 rm -f $dev || fail "Cannot unlink $dev" 181 214 fi … … 184 217 } 185 218 186 restart() { 219 restart() 220 { 187 221 stop && start 188 222 return 0 189 223 } 190 224 191 dmnstatus() { 192 if running; then 225 setup() 226 { 227 # don't stop the old modules here -- they might be in use 228 if find /lib/modules/`uname -r` -name "vboxvfs\.*" 2>/dev/null|grep -q vboxvfs; then 229 begin "Removing old VirtualBox vboxvfs kernel module" 230 find /lib/modules/`uname -r` -name "vboxvfs\.*" 2>/dev/null|xargs rm -f 2>/dev/null 231 succ_msg 232 fi 233 if find /lib/modules/`uname -r` -name "vboxadd\.*" 2>/dev/null|grep -q vboxadd; then 234 begin "Removing old VirtualBox vboxadd kernel module" 235 find /lib/modules/`uname -r` -name "vboxadd\.*" 2>/dev/null|xargs rm -f 2>/dev/null 236 succ_msg 237 fi 238 begin "Recompiling VirtualBox kernel modules" 239 if ! $BUILDVBOXADD \ 240 --save-module-symvers /tmp/vboxadd-Module.symvers \ 241 --no-print-directory install > $LOG 2>&1; then 242 fail "Look at $LOG to find out what went wrong" 243 fi 244 if [ -n "$BUILDVBOXVFS" ]; then 245 if ! $BUILDVBOXVFS \ 246 --use-module-symvers /tmp/vboxadd-Module.symvers \ 247 --no-print-directory install >> $LOG 2>&1; then 248 fail "Look at $LOG to find out what went wrong" 249 fi 250 fi 251 start 252 succ_msg 253 echo 254 echo "You should reboot your guest to make sure the new modules are actually used" 255 } 256 257 dmnstatus() 258 { 259 if running_vboxadd; then 193 260 echo "The VirtualBox Additions are currently running." 194 261 else … … 206 273 restart) 207 274 restart 275 ;; 276 setup) 277 setup 208 278 ;; 209 279 status)
Note:
See TracChangeset
for help on using the changeset viewer.