summaryrefslogtreecommitdiffstats
path: root/core/modules/vbox-src/data/opt/openslx/scripts/systemd-vbox_env
diff options
context:
space:
mode:
authorJonathan Bauer2018-04-20 13:54:27 +0200
committerJonathan Bauer2018-04-20 13:54:27 +0200
commitaf3b6c0687802e9fca7b71a82a26e7ccf368bacf (patch)
tree71877c2acfb77c1ec76d68d67fd4c140cd774f31 /core/modules/vbox-src/data/opt/openslx/scripts/systemd-vbox_env
parent[vbox-src] fix missing test (diff)
downloadmltk-af3b6c0687802e9fca7b71a82a26e7ccf368bacf.tar.gz
mltk-af3b6c0687802e9fca7b71a82a26e7ccf368bacf.tar.xz
mltk-af3b6c0687802e9fca7b71a82a26e7ccf368bacf.zip
[vbox-src] vbox-env: exit 1 on critical steps
+ try to sort the statements in a more logical way...
Diffstat (limited to 'core/modules/vbox-src/data/opt/openslx/scripts/systemd-vbox_env')
-rwxr-xr-xcore/modules/vbox-src/data/opt/openslx/scripts/systemd-vbox_env40
1 files changed, 22 insertions, 18 deletions
diff --git a/core/modules/vbox-src/data/opt/openslx/scripts/systemd-vbox_env b/core/modules/vbox-src/data/opt/openslx/scripts/systemd-vbox_env
index 746896df..35778e6b 100755
--- a/core/modules/vbox-src/data/opt/openslx/scripts/systemd-vbox_env
+++ b/core/modules/vbox-src/data/opt/openslx/scripts/systemd-vbox_env
@@ -20,47 +20,51 @@ export PATH="$PATH":/opt/openslx/bin:/opt/openslx/sbin
## sanity checks
VBOX_BASE_DIR="/usr/lib/virtualbox"
VBOX_KMOD_DIR="/lib/modules/vbox"
+VBOX_MANAGE="${VBOX_BASE_DIR}/VBoxManage"
+# Runtime critical checks first
# VBoxManage should be under /usr/lib/virtualbox
-if ! [ -d "${VBOX_BASE_DIR}" -o -x "${VBOX_BASE_DIR}/VBoxManage" -o -d "${VBOX_KMOD_DIR}" ]; then
+if ! [ -d "${VBOX_BASE_DIR}" -o -x "${VBOX_MANAGE}" -o -d "${VBOX_KMOD_DIR}" ]; then
echo "Failed to find VirtualBox installation at expected paths."
exit 1
fi
-# reload udev rules since aufs'ing the layer on top do not
-# trigger its inotify watch
-udevadm control --reload
-
-# create required standard directories
-mkdir -p "/tmp/virt/virtualbox" -m 1777
-
-# load required Vbox modules
+# load vbox kernel modules
cd "${VBOX_KMOD_DIR}"
for MOD in *; do
- insmod "${MOD}" || slxlog "vbox-setup" "Loading of ${MOD} failed."
+ if ! insmod "${MOD}"; then
+ slxlog "vbox-setup" "Loading of ${MOD} failed."
+ exit 1
+ fi
done
-# check/create vboxusers group
-getent group vboxusers || addgroup -S vboxusers
-
+# set their permissions
chown root:vboxusers /dev/vboxdrv
chmod 666 /dev/vboxdrv
chown root:vboxusers /dev/vboxdrvu
chmod 666 /dev/vboxdrvu
+# create required standard directories
+mkdir -p "/tmp/virt/virtualbox" -m 1777
+
+# check/create vboxusers group
+getent group vboxusers || addgroup -S vboxusers
+
+# reload udev rules since aufs'ing the layer on top do not trigger its inotify watch
+udevadm control --reload
+
# pretty dumb you can just create host-only interfaces,
# but not assign a specific name/number
-VBOXMANAGE="${VBOX_BASE_DIR}/VBoxManage"
-${VBOXMANAGE} hostonlyif create
+${VBOX_MANAGE} hostonlyif create
ip link set dev vboxnet0 up
brctl addif br0 vboxnet0
-${VBOXMANAGE} hostonlyif create
+${VBOX_MANAGE} hostonlyif create
ip link set dev vboxnet1 up
brctl addif nat1 vboxnet1
-${VBOXMANAGE} hostonlyif create
+${VBOX_MANAGE} hostonlyif create
ip link set dev vboxnet2 up
brctl addif vsw2 vboxnet2
-true
+exit 0