summaryrefslogtreecommitdiffstats
path: root/os-plugins
diff options
context:
space:
mode:
authorVolker Uhrig2008-10-21 18:53:14 +0200
committerVolker Uhrig2008-10-21 18:53:14 +0200
commite8c929e83011dc70d29215800e42553103237ed5 (patch)
tree6715208f784cdb7f1a2adcaaf6dca5e39b7dee7d /os-plugins
parent* added core structure of vbox plugin (diff)
downloadcore-e8c929e83011dc70d29215800e42553103237ed5.tar.gz
core-e8c929e83011dc70d29215800e42553103237ed5.tar.xz
core-e8c929e83011dc70d29215800e42553103237ed5.zip
* added runvbox-v2 equivalent to runvmware...
* not useable at the moment git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@2368 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'os-plugins')
-rw-r--r--os-plugins/plugins/virtualbox/files/info2
-rw-r--r--os-plugins/plugins/virtualbox/files/runvbox-v296
2 files changed, 96 insertions, 2 deletions
diff --git a/os-plugins/plugins/virtualbox/files/info b/os-plugins/plugins/virtualbox/files/info
deleted file mode 100644
index 12563f67..00000000
--- a/os-plugins/plugins/virtualbox/files/info
+++ /dev/null
@@ -1,2 +0,0 @@
-# register disk rw saved
-VBoxManage registerimage disk <filename> -type immutable
diff --git a/os-plugins/plugins/virtualbox/files/runvbox-v2 b/os-plugins/plugins/virtualbox/files/runvbox-v2
new file mode 100644
index 00000000..03962e19
--- /dev/null
+++ b/os-plugins/plugins/virtualbox/files/runvbox-v2
@@ -0,0 +1,96 @@
+#!/bin/sh
+# Description: Script for preparing VirtualBox environment Diskless
+# Gets a xml file, reads needed information from it and
+# forwards it into B drive of VirtualBox
+#
+# Author(s): see project authors file
+# last changes uhrig, 21/10/2008
+# Copyright: (c) 2003 - 2008 - RZ Universitaet Freiburg
+#
+# Version: 0.0.1
+#
+################################################################################
+
+################################################################################
+##
+## Read needed variables from XML file
+##
+################################################################################
+xml=$1
+
+# file name of the image
+imagename=$(grep -i "<image_name param=\"" ${xml} | awk -F "\"" '{ print $2 }')
+
+# define name for VirtualBox window. no utf8, perhaps we don't need it any
+# more. else change the next two lines
+#short_description=$(grep "short_description param=\"" ${xml} | sed -e "s%&.*;%; %g" | awk -F "\"" '{print $2}')
+# if ${short_description} not defined use ${image_name}
+#short_description=${short_description:-"${image_name}"}
+#displayname=${short_description}
+
+# Definition of the client system
+#vmostype=$(grep -i "<os param=\"" ${xml} | awk -F "\"" '{ print $2 }')
+
+# Definition of the client system
+#network_kind=$(grep -i "<network param=\"" ${xml} | awk -F "\"" '{ print $2 }')
+
+################################################################################
+##
+## Prepare stuff and configure Image
+##
+################################################################################
+
+# Don't use $HOME/.VirtualBox!
+export VBOX_USER_HOME=/tmp/vbox-${USER}-$$
+# Current ID, to make sure it won't run into conflicts if started more
+# as once at the same time, else delete would make the trick...
+ID=$$
+
+# Bind Image to VirtualBox, which won't get changed
+VBoxManage registerimage disk ${imagename} -type immutable
+
+# Get ID of VBox Image...
+diskuid="$(VBoxManage showvdiinfo ${imagename} |grep UUID|awk '{ print $2; }')"
+
+# Create Image and register it, so we are able to modify and start it
+VBoxManage createvm -name "${ID}" -uuid ${diskuid} -register
+
+
+################################################################################
+##
+## Modify VM
+##
+################################################################################
+
+## check if we have enough free memory
+# get memory in MB
+totalmem=$(expr $(grep -i "memtotal" /proc/meminfo | awk '{print $2}') / 1024)
+# calculate memory for virtualbox
+mem=$(expr ${totalmem} / 100 \* ${permem} / 4 \* 4)
+# check memory range
+memtest=${totalmem}-128
+if [ "${mem}" -lt "128" ] || [ "${mem}" -gt "${totalmem}" ]; then
+ echo "\n\n"
+ echo "\tYour memory is out of range: ${mem} MB."
+ echo "\tMin. 128 MB for host and guest!"
+ exit 1
+fi
+
+
+## look for cdrom, dvd and add them to the vm config file
+for cdrs in /dev/cdrom*; do
+ if [ -L $cdrs ]; then
+ VBoxManage modifyvm "${ID}" -dvd host:${cdrs}
+ fi
+done
+
+
+# adjust volume
+amixer -q sset Master 28 unmute 2>/dev/null
+amixer -q sset PCM 28 unmute 2>/dev/null
+amixer -q sset Headphone 28 unmute 2>/dev/null
+amixer -q sset Front 0 mute 2>/dev/null
+
+
+# start created image
+VBoxManage startvm "${ID}" -type gui