[Pkg-virtualbox-devel] Bug#451742: Bug#451742: Don't modprobe vboxadd
Kel Modderman
kel at otaku42.de
Mon Nov 19 09:49:43 UTC 2007
Hi Michael,
On Sunday 18 November 2007 23:13:19 Michael Meskes wrote:
> On Sun, Nov 18, 2007 at 10:22:14PM +1000, Kel Modderman wrote:
> > If I put the software on a live debian cd, I can boot the same set of
> > software on real hardware or in a VM. The software should do the correct
> > thing in both the real and virtual worlds.
>
> Absolutely right. That's why the init script will check whether it is
> inside the VM before starting anything.
Try 2, cleaned up output when not in a VM.
---
Index: debian/control
===================================================================
--- debian/control (revision 120)
+++ debian/control (working copy)
@@ -66,7 +66,7 @@
Package: virtualbox-ose-guest-utils
Architecture: amd64 i386
-Depends: ${shlibs:Depends}, ${misc:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}, pciutils
Recommends: virtualbox-ose-guest-modules, virtualbox-ose-guest-source
Description: PC virtualization solution - guest utils
VirtualBox is a free PC virtualization solution allowing you to run a wide
Index: debian/virtualbox-ose-guest-utils.init
===================================================================
--- debian/virtualbox-ose-guest-utils.init (revision 120)
+++ debian/virtualbox-ose-guest-utils.init (working copy)
@@ -14,23 +14,38 @@
. /lib/lsb/init-functions
-set -e
+in_virtual_machine()
+{
+ if [ -z "$(lspci -d 80ee:beef)" ]; then
+ log_warning_msg 'VirtualBox Additions Disabled, not in a Virtual Machine';
+ return 1
+ fi
-(lspci|grep -q 80ee:beef) || exit 0 # not inside a vm
+ return 0
+}
case "$1" in
start)
+ in_virtual_machine || exit 0
log_action_begin_msg 'Starting VirtualBox Additions';
- # udev should have already handled thismodule
- # modprobe vboxadd
+ # udev should have already handled this module
+ # double check kernel support is present or die
+ modprobe --quiet vboxadd
+ if [ "$?" -ne 0 ]; then
+ # vboxadd not installed, or has a problem
+ log_failure_msg 'cannot modprobe vboxadd kernel module';
+ log_end_msg 1
+ exit 1
+ fi
start-stop-daemon --start --quiet --exec /usr/sbin/vboxadd-timesync -- --daemonize
- log_end_msg 0
+ log_end_msg $?
;;
stop)
+ in_virtual_machine || exit 0
log_action_begin_msg 'Stopping VirtualBox Additions';
start-stop-daemon --stop --quiet --oknodo --exec /usr/sbin/vboxadd-timesync
- log_end_msg 0
+ log_end_msg $?
;;
restart|force-reload)
#
More information about the Pkg-virtualbox-devel
mailing list