From af3b6c0687802e9fca7b71a82a26e7ccf368bacf Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Fri, 20 Apr 2018 13:54:27 +0200 Subject: [vbox-src] vbox-env: exit 1 on critical steps + try to sort the statements in a more logical way... --- .../data/opt/openslx/scripts/systemd-vbox_env | 40 ++++++++++++---------- 1 file changed, 22 insertions(+), 18 deletions(-) (limited to 'core/modules/vbox-src/data/opt/openslx/scripts/systemd-vbox_env') 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 -- cgit v1.2.3-55-g7522