From edec2021d42c8e176db3caaf7e23d1932c88344d Mon Sep 17 00:00:00 2001 From: Volker Uhrig Date: Fri, 29 May 2009 08:22:31 +0000 Subject: * 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 --- .../plugins/virtualbox/files/run-virt.include | 103 +++++++++++++++++++-- 1 file changed, 96 insertions(+), 7 deletions(-) (limited to 'os-plugins/plugins/virtualbox/files/run-virt.include') 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" -- cgit v1.2.3-55-g7522