Index: src/VBox/Installer/linux/vboxdrv.sh.in =================================================================== --- src/VBox/Installer/linux/vboxdrv.sh.in.orig +++ src/VBox/Installer/linux/vboxdrv.sh.in @@ -3,7 +3,7 @@ # Linux kernel module init script # -# Copyright (C) 2006-2010 Oracle Corporation +# Copyright (C) 2007-2010 Oracle Corporation # # This file is part of VirtualBox Open Source Edition (OSE), as # available from http://www.virtualbox.org. This file is free software; @@ -19,11 +19,12 @@ # ### BEGIN INIT INFO # Provides: vboxdrv -# Required-Start: $syslog -# Required-Stop: -# Default-Start: 2 3 4 5 -# Default-Stop: 1 +# Required-Start: $syslog $remote_fs +# Required-Stop: $syslog $remote_fs +# Default-Start: 2 3 5 +# Default-Stop: 0 1 6 # Short-Description: VirtualBox Linux kernel module +# Description: VirtualBox Linux kernel module ### END INIT INFO PATH=/sbin:/bin:/usr/sbin:/usr/bin:$PATH @@ -56,7 +57,7 @@ fi # silently exit if the package was uninstalled but not purged, # applies to Debian packages only -[ -z "$DEBIAN" -o -x $VBOXMANAGE -a -x $BUILDVBOXDRV ] || exit 0 +[ -z "$DEBIAN" -o -x $VBOXMANAGE -a -x $BUILDVBOXDRV ] || exit 1 if [ -n "$NOLSB" ]; then if [ -f /etc/redhat-release ]; then @@ -189,13 +190,6 @@ start() failure "Cannot create device $DEVICE with major $MAJOR and minor $MINOR" fi fi - # ensure permissions - if ! chown :%GROUP% $DEVICE 2>/dev/null; then - rmmod vboxnetadp 2>/dev/null - rmmod vboxnetflt 2>/dev/null - rmmod vboxdrv 2>/dev/null - failure "Cannot change group %GROUP% for device $DEVICE" - fi if ! $MODPROBE vboxnetflt > /dev/null 2>&1; then failure "modprobe vboxnetflt failed. Please use 'dmesg' to find out why" fi @@ -279,48 +273,8 @@ stop_vms() # setup_script setup() { - stop - begin_msg "Uninstalling old VirtualBox DKMS kernel modules" - $DODKMS uninstall > $LOG - succ_msg - if find /lib/modules/`uname -r` -name "vboxnetadp\.*" 2>/dev/null|grep -q vboxnetadp; then - begin_msg "Removing old VirtualBox netadp kernel module" - find /lib/modules/`uname -r` -name "vboxnetadp\.*" 2>/dev/null|xargs rm -f 2>/dev/null - succ_msg - fi - if find /lib/modules/`uname -r` -name "vboxnetflt\.*" 2>/dev/null|grep -q vboxnetflt; then - begin_msg "Removing old VirtualBox netflt kernel module" - find /lib/modules/`uname -r` -name "vboxnetflt\.*" 2>/dev/null|xargs rm -f 2>/dev/null - succ_msg - fi - if find /lib/modules/`uname -r` -name "vboxdrv\.*" 2>/dev/null|grep -q vboxdrv; then - begin_msg "Removing old VirtualBox kernel module" - find /lib/modules/`uname -r` -name "vboxdrv\.*" 2>/dev/null|xargs rm -f 2>/dev/null - succ_msg - fi - begin_msg "Trying to register the VirtualBox kernel modules using DKMS" - if ! $DODKMS install >> $LOG; then - fail_msg "Failed, trying without DKMS" - begin_msg "Recompiling VirtualBox kernel modules" - if ! $BUILDVBOXDRV \ - --save-module-symvers /tmp/vboxdrv-Module.symvers \ - --no-print-directory install >> $LOG 2>&1; then - failure "Look at $LOG to find out what went wrong" - fi - if ! $BUILDVBOXNETFLT \ - --use-module-symvers /tmp/vboxdrv-Module.symvers \ - --no-print-directory install >> $LOG 2>&1; then - failure "Look at $LOG to find out what went wrong" - fi - if ! $BUILDVBOXNETADP \ - --use-module-symvers /tmp/vboxdrv-Module.symvers \ - --no-print-directory install >> $LOG 2>&1; then - failure "Look at $LOG to find out what went wrong" - fi - fi - rm -f /etc/vbox/module_not_compiled + begin_msg "Recompiling VirtualBox vboxadd kernel module, NOT. It has been packaged." succ_msg - start } dmnstatus()