summaryrefslogtreecommitdiffstats
path: root/os-plugins/plugins/virtualbox/files/run-virt.include
diff options
context:
space:
mode:
authorVolker Uhrig2009-05-29 10:22:31 +0200
committerVolker Uhrig2009-05-29 10:22:31 +0200
commitedec2021d42c8e176db3caaf7e23d1932c88344d (patch)
tree5f4e2558fb4f9d33de593d74485f9fa1f7bd58d5 /os-plugins/plugins/virtualbox/files/run-virt.include
parentforce svn to add missing libs .. (diff)
downloadcore-edec2021d42c8e176db3caaf7e23d1932c88344d.tar.gz
core-edec2021d42c8e176db3caaf7e23d1932c88344d.tar.xz
core-edec2021d42c8e176db3caaf7e23d1932c88344d.zip
* merged most stuff from runvbox.hints into run-virt.include
* suppress popup messages git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@2902 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'os-plugins/plugins/virtualbox/files/run-virt.include')
-rw-r--r--os-plugins/plugins/virtualbox/files/run-virt.include103
1 files changed, 96 insertions, 7 deletions
diff --git a/os-plugins/plugins/virtualbox/files/run-virt.include b/os-plugins/plugins/virtualbox/files/run-virt.include
index f4c497fd..34793f5d 100644
--- a/os-plugins/plugins/virtualbox/files/run-virt.include
+++ b/os-plugins/plugins/virtualbox/files/run-virt.include
@@ -17,10 +17,47 @@
# include general configuration from vmchooser
. /etc/opt/openslx/run-virt.include
-# most of the following does not make much sense yet ...
-permem=66
-mem=$(expr{totalmem} * ${permem})
+# memory part equal to vmware plugin
+# percentage of memory to use for virtualbox in standard case
+permem=30
+if [ "${totalmem}" -ge "1600" ]; then
+ permem=40
+fi
+# check if /tmp is on harddisk
+if grep -qe "/dev/.* /tmp " /proc/mounts ; then
+ permem=60
+ id44="1"
+ # Hack, if more than 2,5G RAM use 40% of Ram and write vmem into Ram as well
+ # (40% vmware | 40% confdir(vmem...) | 20% host
+ # VMplayer 2+ issue
+ #if [ "${totalmem}" -ge "2500" ]; then
+ # permem=40
+ # confdir=/dev/shm/vmware/$USER
+ # conffile=${confdir}/run-vmware.conf
+ # mkdir -p /dev/shm/vmware/$USER
+ #fi
+fi
+#TODO: ... / 4 * 4 dont make sence
+mem=$(expr ${totalmem} / 100 \* ${permem} / 4 \* 4)
+if [ "${id44}" = "1" ]; then
+ memhost=$(expr ${totalmem} - ${mem})
+else
+ memhost=$(expr ${totalmem} - ${mem} - ${mem})
+fi
+
+#permem=40
+#mem=$(expr ${totalmem} * ${permem})
+
+if [ "${mem}" -lt "256" ] || [ "${memhost}" -lt "256" ]; then
+ writelog "\tMemory out of range: ${mem} MB (guest) / ${memhost} MB (host)!"
+ writelog "\tMin. 256 MB for host and guest!"
+ exit 1
+fi
+
+
+# most of the following does not make much sense yet ...
+#
# virtual fd/cd/dvd and drive devices, floppy b: for configuration
# if $floppy_0 from run-virt.include set then fdtest="TRUE"
fdtest=
@@ -44,12 +81,64 @@ cdrom1=${cdtest:-"FALSE"}
ide="TRUE"
hddrv="ide"
-# finally set env for run-virt.sh
+
+################################################################################
+### Pepare env and and configure Image
################################################################################
-# set the variables appropriately (several interfaces with different names)
-VIRTCMD=$(which virtualbox 2>/dev/null)
-# VIRTCMDOPTS="${vmopt} ${conffile}"
+# 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=$$
+# Don't use $HOME/.VirtualBox!
+export VBOX_USER_HOME="/tmp/vbox-${USER}-${ID}"
+
+# Import Image to VirtualBox, which won't get changed
+VBoxManage -q registerimage disk ${diskfile} -type immutable
+
+# Get ID of VBox Image...
+diskuid="$(VBoxManage -q showvdiinfo ${diskfile} |grep UUID|awk '{ print $2; }')"
+# Create Image and register it, so we are able to modify and start it
+VBoxManage createvm -name "${ID}" -register
+
+################################################################################
+###
+### Modify VM
+###
+################################################################################
+
+## Add harddisk
+VBoxManage -q modifyvm "${ID}" -hda ${diskuid}
+
+## Configure VM memory
+VBoxManage -q modifyvm "${ID}" -memory ${mem}
+
+## Add cddrives
+## TODO: merge to new version, where run-virt.include has our drives
+#VBoxManage -q modifyvm "${ID}" -dvd host:${cdrs}
+
+# Enable hardware virtualization
+# TODO: check if CPU supports hw virtualization
+#VBoxManage -q modifyvm "${ID}" -hwvirtex on
+
+# HDD as boot device
+VBoxManage -q modifyvm "${ID}" -boot1 disk
+# enable audio (oss|null|none|alsa|pulse). OSS is backwardcompatible to v2.0
+VBoxManage -q modifyvm "${ID}" -audio oss
+# supress License and Message
+# TODO: Not clear if we are allowed to do this
+VBoxManage setextradata global "GUI/LicenseAgreed" "7"
+VBoxManage setextradata global "GUI/SuppressMessages" ",remindAboutAutoCapture"
+VBoxManage setextradata global "GUI/RegistrationData" "triesLeft=0"
+
+
+
+# finally set env for run-virt.sh
+################################################################################
+
+# set the variables appropriately (several interfaces with different names)
+#VIRTCMD=$(which virtualbox 2>/dev/null)
+VIRTCMD=$(which VBoxManage 2>/dev/null)
+VIRTCMDOPTS="startvm ${ID} -type gui"