From b3bd794b4f4b2d6dcc8f42e871a463facb8786da Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Tue, 20 Aug 2013 21:12:03 +0200 Subject: [vmchooser] Add support for dnbd3 (if servers are specified in config) Also add fallback if MAC address is not present in config --- .../data/opt/openslx/etc/vmware/run-virt.include | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'remote/modules/vmplayer/data') diff --git a/remote/modules/vmplayer/data/opt/openslx/etc/vmware/run-virt.include b/remote/modules/vmplayer/data/opt/openslx/etc/vmware/run-virt.include index 084828ff..b755133f 100755 --- a/remote/modules/vmplayer/data/opt/openslx/etc/vmware/run-virt.include +++ b/remote/modules/vmplayer/data/opt/openslx/etc/vmware/run-virt.include @@ -229,7 +229,7 @@ MemTrimRate = "-1" # ide-disks ide0:0.present = "$ide" -ide0:0.fileName = "$diskfile" +ide0:0.fileName = "$vm_diskfile" ## Edited for persistent mode. ide0:0.mode = "independent-${diskmode}" ## @@ -245,7 +245,7 @@ ide1:1.deviceType = "cdrom-raw" # scsi-disks scsi0.present = "$scsi" scsi0:0.present = "$scsi" -scsi0:0.fileName = "$diskfile" +scsi0:0.fileName = "$vm_diskfile" scsi0.virtualDev = "$hddrv" ## Edited for persistent mode. scsi0:0.mode = "independent-${diskmode}"$stateFileConfiguration @@ -270,7 +270,7 @@ $network_virtualDev ethernet0.connectionType = "$network_kind" #ethernet1.connectionType = "custom" #ethernet1.vnet = "/dev/vmnet2" -ethernet0.address = "00:50:56:$VM_ID:$machostpart" +ethernet0.address = "00:50:56:$macaddrsuffix" ethernet0.wakeOnPcktRcv = "FALSE" # sound @@ -627,11 +627,14 @@ writelog "" ################################################################################ # configure and start samba service to provide user's home directory -if [ -f /usr/sbin/smbd ] ; then - sudo /opt/openslx/bin/sed -i /etc/vmware/smb.conf -e "s,USER,$USER," - sudo /usr/sbin/nmbd -s /etc/vmware/smb.conf - sudo /usr/sbin/smbd -s /etc/vmware/smb.conf -fi +#if [ -f /usr/sbin/smbd ] ; then +# sudo /opt/openslx/bin/sed -i /etc/vmware/smb.conf -e "s,USER,$USER," +# sudo /usr/sbin/nmbd -s /etc/vmware/smb.conf +# sudo /usr/sbin/smbd -s /etc/vmware/smb.conf +#fi + +# For debugging +cp "$conffile" "/tmp/vmware-last-config" # using the modified version of the wrapper script VIRTCMD="/opt/openslx/bin/vmplayer" -- cgit v1.2.3-55-g7522 From 65971818a573c47f182de461092d60bf1c63cc2b Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 21 Aug 2013 16:28:42 +0200 Subject: [rootfs-stage32] Make it possible to run a script after adding an addon to the aufs stack. Call it addon-init and place it in the root directory of your addon [vmplayer] Add such an addon-init script that will take care of setting up the vmplayer environment --- remote/modules/vmplayer/data/addon-init | 5 +++++ remote/rootfs/rootfs-stage31/data/bin/setup_stage32 | 4 ++++ .../data/opt/openslx/scripts/systemd-setup_slx_addons | 19 ++++++++++++++----- 3 files changed, 23 insertions(+), 5 deletions(-) create mode 100755 remote/modules/vmplayer/data/addon-init (limited to 'remote/modules/vmplayer/data') diff --git a/remote/modules/vmplayer/data/addon-init b/remote/modules/vmplayer/data/addon-init new file mode 100755 index 00000000..01acb3b4 --- /dev/null +++ b/remote/modules/vmplayer/data/addon-init @@ -0,0 +1,5 @@ +#!/bin/sh + +systemctl daemon-reload +systemctl start vmware + diff --git a/remote/rootfs/rootfs-stage31/data/bin/setup_stage32 b/remote/rootfs/rootfs-stage31/data/bin/setup_stage32 index 151617bc..bc00b830 100755 --- a/remote/rootfs/rootfs-stage31/data/bin/setup_stage32 +++ b/remote/rootfs/rootfs-stage31/data/bin/setup_stage32 @@ -45,3 +45,7 @@ mount -n -t aufs -o "br:${FUTURE_ROOT}:${STAGE32_MOUNT_POINT}=ro" none /mnt || d mkdir -p /mnt/opt/openslx/uniontmp /mnt/tmp mount -n --move "$FUTURE_ROOT" /mnt/opt/openslx/uniontmp || drop_shell "Problem moving uniontmp." FUTURE_ROOT="/mnt" + +# "Delete" addon hook-script in aufs view +touch "/mnt/opt/openslx/uniontmp/.wh.addon-init" + diff --git a/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_slx_addons b/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_slx_addons index 70a09924..a5dc9965 100755 --- a/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_slx_addons +++ b/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_slx_addons @@ -25,20 +25,29 @@ fi SLX_BASE_PATH=$(read_from_cmdline "slxbase") SLX_BASE_MNT="/opt/openslx/mnt" -SYS_TMP="/tmp" +SYS_TMP="/tmp/addons" +mkdir -p "$SYS_TMP" || { echo "Failed to create $SYS_TMP"; exit 1; } for ADDON in ${SLX_ADDONS}; do # download the addon from the given URL - ADDON_TARGET_PATH="${SYS_TMP}/$(basename $(echo ${ADDON})).sqfs" + ADDON_TARGET_PATH="${SYS_TMP}/$(basename "$ADDON").sqfs" download "${SLX_BASE_PATH}/${ADDON}.sqfs" "${ADDON_TARGET_PATH}" # now mount it to $SLX_MNT/ - ADDON_MOUNT_POINT="${SLX_BASE_MNT}/$(basename $(echo ${ADDON}) | awk -F "." '{print $1}')" + ADDON_MOUNT_POINT="${SLX_BASE_MNT}/$(basename "$ADDON")" mkdir -p "$ADDON_MOUNT_POINT" echo "Mounting ${ADDON_TARGET_PATH} to ${ADDON_MOUNT_POINT}" - mount -t squashfs "$ADDON_TARGET_PATH" ${ADDON_MOUNT_POINT} || { echo "Failed to mount." && exit 1; } + mount -t squashfs "$ADDON_TARGET_PATH" "$ADDON_MOUNT_POINT" || { echo "Failed to mount." && exit 1; } # now append it to / echo "Appending ${ADDON_MOUNT_POINT} to /" - mount -o remount,append:${ADDON_MOUNT_POINT}=ro / || { echo "Fail." && exit 1; } + mount -o "remount,append:${ADDON_MOUNT_POINT}=ro" / || { echo "Fail." && exit 1; } + + # Run post-hook if available + if [ -x "$ADDON_MOUNT_POINT/addon-init" ]; then + echo "Running addon initialization script..." + "$ADDON_MOUNT_POINT/addon-init" || echo "Warning: Could not execute addon-init of $ADDON" + fi done +exit 0 + -- cgit v1.2.3-55-g7522