diff options
Diffstat (limited to 'src/VBox/Additions/darwin/Installer/VBoxGuestAdditionsToolsAndServices/VBoxServiceWrapper')
-rwxr-xr-x | src/VBox/Additions/darwin/Installer/VBoxGuestAdditionsToolsAndServices/VBoxServiceWrapper | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/VBox/Additions/darwin/Installer/VBoxGuestAdditionsToolsAndServices/VBoxServiceWrapper b/src/VBox/Additions/darwin/Installer/VBoxGuestAdditionsToolsAndServices/VBoxServiceWrapper new file mode 100755 index 00000000..0192f9ec --- /dev/null +++ b/src/VBox/Additions/darwin/Installer/VBoxGuestAdditionsToolsAndServices/VBoxServiceWrapper @@ -0,0 +1,39 @@ +#!/bin/sh +## @file +# VBoxService wrapper script. +# +# Load required kernel extensions before start service (if necessary). +# + +# +# Copyright (C) 2007-2019 Oracle Corporation +# +# This file is part of VirtualBox Open Source Edition (OSE), as +# available from http://www.virtualbox.org. This file is free software; +# you can redistribute it and/or modify it under the terms of the GNU +# General Public License (GPL) as published by the Free Software +# Foundation, in version 2 as it comes in the "COPYING" file of the +# VirtualBox OSE distribution. VirtualBox OSE is distributed in the +# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. +# + +export PATH="/bin:/usr/bin:/sbin:/usr/sbin:$PATH" + +echo "Check if kernel extensions loaded..." +items="VBoxGuest" +for item in $items; do + kext_item="org.virtualbox.kext.$item" + loaded=`kextstat | grep $kext_item` + if [ -z "$loaded" ] ; then + echo "Loading $item kernel extension..." + XNU_VERSION=`LC_ALL=C uname -r | LC_ALL=C cut -d . -f 1` + if [ "$XNU_VERSION" -ge "10" ]; then + kextutil /Library/Extensions/$item.kext + else + kextload /Library/Extensions/$item.kext + fi + fi +done + +exec "/Library/Application Support/VirtualBox Guest Additions/VBoxService" -f + |