diff options
author | Volker Uhrig | 2008-10-21 18:53:14 +0200 |
---|---|---|
committer | Volker Uhrig | 2008-10-21 18:53:14 +0200 |
commit | e8c929e83011dc70d29215800e42553103237ed5 (patch) | |
tree | 6715208f784cdb7f1a2adcaaf6dca5e39b7dee7d /os-plugins | |
parent | * added core structure of vbox plugin (diff) | |
download | core-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/info | 2 | ||||
-rw-r--r-- | os-plugins/plugins/virtualbox/files/runvbox-v2 | 96 |
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 |