summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2013-05-03 19:13:33 +0200
committerSimon Rettberg2013-05-03 19:13:33 +0200
commit55f6eb64d679d00a5c89e6eb92c9b7d2ef1ec824 (patch)
tree8bb350b5da6e62e02aa460e8db4ceb517f5aae24
parentdrm not builtin anymore (fixes loading problems?), disable evbug (diff)
parentMerge branch 'master' of git.openslx.org:openslx-ng/tm-scripts (diff)
downloadtm-scripts-55f6eb64d679d00a5c89e6eb92c9b7d2ef1ec824.tar.gz
tm-scripts-55f6eb64d679d00a5c89e6eb92c9b7d2ef1ec824.tar.xz
tm-scripts-55f6eb64d679d00a5c89e6eb92c9b7d2ef1ec824.zip
Merge branch 'master' of simonslx:openslx-ng/tm-scripts
-rw-r--r--remote/modules/busybox/busybox.conf2
-rw-r--r--remote/modules/kdm/data/etc/kde4/kdm/kdmrc8
-rw-r--r--remote/modules/rsyslogd/data/etc/rsyslog.conf208
-rw-r--r--remote/modules/systemd/data/etc/systemd/system/debug-shell.service2
l---------remote/modules/systemd/data/etc/systemd/system/getty.target.wants/load-german-keymap.service1
-rw-r--r--remote/modules/systemd/data/etc/systemd/system/load-german-keymap.service2
-rw-r--r--remote/modules/systemd/data/etc/systemd/system/network-interface@.service2
-rw-r--r--remote/modules/systemd/data/etc/systemd/system/udhcpc@.service2
-rwxr-xr-xremote/modules/vmchooser/data/opt/openslx/bin/run-virt.sh440
-rwxr-xr-xremote/modules/vmchooser/data/opt/openslx/bin/vmplayer8
-rwxr-xr-xremote/modules/vmchooser/data/opt/openslx/bin/vmware8
-rwxr-xr-xremote/modules/vmchooser/data/opt/openslx/bin/xmlfilter.sh50
-rwxr-xr-xremote/modules/vmchooser/data/usr/share/xsessions/default.desktop4
-rwxr-xr-xremote/modules/vmchooser/data/usr/share/xsessions/xterm.desktop10
-rw-r--r--remote/modules/vmchooser/vmchooser.build16
-rw-r--r--remote/modules/vmchooser/vmchooser.conf2
-rw-r--r--[-rwxr-xr-x]remote/modules/xorg/data/etc/X11/Xsession116
-rw-r--r--remote/modules/xorg/data/usr/share/xsessions/gnome.desktop9
-rw-r--r--remote/rootfs/rootfs-stage31/rootfs-stage31.build6
-rw-r--r--remote/rootfs/rootfs-stage32/data/etc/profile8
-rwxr-xr-xremote/rootfs/rootfs-stage32/data/etc/udhcpc.openslx.script2
-rwxr-xr-xremote/rootfs/rootfs-stage32/data/usr/sbin/mountexport10
-rw-r--r--remote/rootfs/rootfs-stage32/rootfs-stage32.build6
l---------remote/targets/stage32/vmchooser1
24 files changed, 622 insertions, 301 deletions
diff --git a/remote/modules/busybox/busybox.conf b/remote/modules/busybox/busybox.conf
index f7c866f2..e8236c26 100644
--- a/remote/modules/busybox/busybox.conf
+++ b/remote/modules/busybox/busybox.conf
@@ -1,5 +1,5 @@
GIT=git://git.openslx.org/openslx/tools/busybox
-PREFIX="/openslx"
+PREFIX="/opt/openslx"
REQUIRED_BINARIES=" busybox"
REQUIRED_DIRECTORIES=" ${PREFIX}/bin
${PREFIX}/sbin
diff --git a/remote/modules/kdm/data/etc/kde4/kdm/kdmrc b/remote/modules/kdm/data/etc/kde4/kdm/kdmrc
index 855e9aa7..2cd04adc 100644
--- a/remote/modules/kdm/data/etc/kde4/kdm/kdmrc
+++ b/remote/modules/kdm/data/etc/kde4/kdm/kdmrc
@@ -18,13 +18,13 @@ UseAdminSession=true
AllowRootLogin=true
AllowShutdown=All
AutoLoginEnable=false
-#Reset=/etc/kde4/kdm/Xreset
+Reset=/etc/kde4/kdm/Xreset
ServerAttempts=2
#TODO: Xsession doesn't work because scripts are missing under /etc/X11/Xsession.d/
-#Session=/etc/kde4/kdm/Xsession
+Session=/etc/kde4/kdm/Xsession
SessionsDirs=/etc/X11/session,/usr/share/xsessions,/usr/share/apps/kdm/sessions
-#Setup=/etc/kde4/kdm/Xsetup
-#Startup=/etc/kde4/kdm/Xstartup
+Setup=/etc/kde4/kdm/Xsetup
+Startup=/etc/kde4/kdm/Xstartup
[X-:0-Greeter]
LogSource=/dev/xconsole
diff --git a/remote/modules/rsyslogd/data/etc/rsyslog.conf b/remote/modules/rsyslogd/data/etc/rsyslog.conf
index e2548c99..3099f250 100644
--- a/remote/modules/rsyslogd/data/etc/rsyslog.conf
+++ b/remote/modules/rsyslogd/data/etc/rsyslog.conf
@@ -1,169 +1,85 @@
-##
-## === When you're using remote logging, enable on-disk queues ===
-## === in rsyslog.d/remote.conf. When neccesary also set the ===
-## === SYSLOG_REQUIRES_NETWORK=yes in /etc/sysconfig/syslog, ===
-## === e.g. when rsyslog has to receive on a specific IP only. ===
-##
-## Note, that when the MYSQL, PGSQL, GSSAPI, GnuTLS or SNMP modules
-## (provided in separate rsyslog-module-* packages) are enabled, the
-## configuration can't be used on a system with /usr on a remote
-## filesystem, except on newer systems where initrd mounts /usr.
-## [The modules are linked against libraries installed bellow of
-## /usr thus also installed in /usr/lib*/rsyslog because of this.]
-##
-
+# /etc/rsyslog.conf Configuration file for rsyslogd.
#
-# if you experience problems, check
-# http://www.rsyslog.com/troubleshoot for assistance
-# and report them at http://bugzilla.novell.com/
+# For more information see
+# /usr/share/doc/rsyslog/html/rsyslog_conf.html
+#
+# First some standard logfiles. Log by facility.
#
-# since rsyslog v3: load input modules
-# If you do not load inputs, nothing happens!
-
-# provides --MARK-- message capability (every 1 hour)
-$ModLoad immark.so
+$ModLoad imuxsock # provides support for local system logging
+$ModLoad imklog # provides kernel logging support (previously done by rklogd)
+$ModLoad immark
$MarkMessagePeriod 3600
-
-# provides support for local system logging (e.g. via logger command)
-$ModLoad imuxsock.so
-
-# reduce dupplicate log messages (last message repeated n times)
$RepeatedMsgReduction on
-# kernel logging (may be also provided by /sbin/klogd)
-# see also http://www.rsyslog.com/doc-imklog.html.
-$ModLoad imklog.so
-# set log level 1 (same as in /etc/sysconfig/syslog).
-$klogConsoleLogLevel 1
-
-# Use rsyslog native, rfc5424 conform log format as default
-# ($ActionFileDefaultTemplate RSYSLOG_FileFormat).
-#
-# To change a single file to use obsolete BSD syslog format
-# (rfc 3164, no high-precision timestamps), set the variable
-# bellow or append ";RSYSLOG_FileFormat" to the filename.
-# See
-# http://www.rsyslog.com/doc/rsyslog_conf_templates.html
-# for more informations.
-#
-#$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
-
-#
-# Include config generated by /etc/init.d/syslog script
-# using the SYSLOGD_ADDITIONAL_SOCKET* variables in the
-# /etc/sysconfig/syslog file.
-#
-#$IncludeConfig /var/run/rsyslog/additional-log-sockets.conf
-
-#
-# Include config files, that the admin provided? :
-#
-$IncludeConfig /etc/rsyslog.d/*.conf
-
-###
-# print most important on tty10 and on the xconsole pipe
-#
-if ( \
- /* kernel up to warning except of firewall */ \
- ($syslogfacility-text == 'kern') and \
- ($syslogseverity <= 4 /* warning */ ) and not \
- ($msg contains 'IN=' and $msg contains 'OUT=') \
- ) or ( \
- /* up to errors except of facility authpriv */ \
- ($syslogseverity <= 3 /* errors */ ) and not \
- ($syslogfacility-text == 'authpriv') \
- ) \
-then /dev/tty10
-& |/dev/console
+if ( \
+ /* kernel up to warning except of firewall */ \
+ ($syslogfacility-text == 'kern') and \
+ ($syslogseverity <= 4 /* warning */ ) and not \
+ ($msg contains 'IN=' and $msg contains 'OUT=') \
+ ) or ( \
+ /* up to errors except of facility authpriv */ \
+ ($syslogseverity <= 3 /* errors */ ) and not \
+ ($syslogfacility-text == 'authpriv') \
+ ) \
+then /dev/tty10
+& |/dev/console
-# Emergency messages to everyone logged on (wall)
-*.emerg :omusrmsg:*
-
-# enable this, if you want that root is informed
-# immediately, e.g. of logins
-#*.alert root
-
+auth,authpriv.* /var/log/auth.log
+*.*;auth,authpriv.none -/var/log/syslog
+#cron.* /var/log/cron.log
+daemon.* -/var/log/daemon.log
+kern.* -/var/log/kern.log
+lpr.* -/var/log/lpr.log
+mail.* -/var/log/mail.log
+user.* -/var/log/user.log
#
-# firewall messages into separate file and stop their further processing
+# Logging for the mail system. Split it up so that
+# it is easy to write scripts to parse these files.
#
-if ($syslogfacility-text == 'kern') and \
- ($msg contains 'IN=' and $msg contains 'OUT=') \
-then -/var/log/firewall
-& ~
-
-
+mail.info -/var/log/mail.info
+mail.warn -/var/log/mail.warn
+mail.err /var/log/mail.err
#
-# acpid messages into separate file and stop their further processing
+# Logging for INN news system
#
-# => all acpid messages for debuging (uncomment if needed):
-#if ($programname == 'acpid' or $syslogtag == '[acpid]:') then \
-# -/var/log/acpid
+news.crit /var/log/news/news.crit
+news.err /var/log/news/news.err
+news.notice -/var/log/news/news.notice
#
-# => up to notice (skip info and debug)
-if ($programname == 'acpid' or $syslogtag == '[acpid]:') and \
- ($syslogseverity <= 5 /* notice */) \
-then -/var/log/acpid
-& ~
-
-
+# Some `catch-all' logfiles.
#
-# NetworkManager into separate file and stop their further processing
+*.=debug;\
+ auth,authpriv.none;\
+ news.none;mail.none -/var/log/debug
+*.=info;*.=notice;*.=warn;\
+ auth,authpriv.none;\
+ cron,daemon.none;\
+ mail,news.none -/var/log/messages
#
-if ($programname == 'NetworkManager') or \
- ($programname startswith 'nm-') \
-then -/var/log/NetworkManager
-& ~
-
-
+# Emergencies are sent to everybody logged in.
#
-# email-messages
-#
-mail.* -/var/log/mail
-mail.info -/var/log/mail.info
-mail.warning -/var/log/mail.warn
-mail.err /var/log/mail.err
-
-
+*.emerg *
#
-# news-messages
+# I like to have messages displayed on the console, but only on a virtual
+# console I usually leave idle.
#
-news.crit -/var/log/news/news.crit
-news.err -/var/log/news/news.err
-news.notice -/var/log/news/news.notice
-# enable this, if you want to keep all news messages
-# in one file
-#news.* -/var/log/news.all
-
-
+#daemon,mail.*;\
+# news.=crit;news.=err;news.=notice;\
+# *.=debug;*.=info;\
+# *.=notice;*.=warn /dev/tty8
+# The named pipe /dev/xconsole is for the `xconsole' utility. To use it,
+# you must invoke `xconsole' with the `-file' option:
#
-# Warnings in one file
+# $ xconsole -file /dev/xconsole [...]
#
-*.=warning;*.=err -/var/log/warn
-*.crit /var/log/warn
-
-
+# NOTE: adjust the list below, or you'll go crazy if you have a reasonably
+# busy site..
#
-# the rest in one file
-#
-*.*;mail.none;news.none -/var/log/messages
-
-
-#
-# enable this, if you want to keep all messages
-# in one file
-#*.* -/var/log/allmessages
-
-
-#
-# Some foreign boot scripts require local7
-#
-local0.*;local1.* -/var/log/localmessages
-local2.*;local3.* -/var/log/localmessages
-local4.*;local5.* -/var/log/localmessages
-local6.*;local7.* -/var/log/localmessages
-
-###
+daemon.*;mail.*;\
+ news.err;\
+ *.=debug;*.=info;\
+ *.=notice;*.=warn |/dev/console
diff --git a/remote/modules/systemd/data/etc/systemd/system/debug-shell.service b/remote/modules/systemd/data/etc/systemd/system/debug-shell.service
index 5b7d5de9..f702064d 100644
--- a/remote/modules/systemd/data/etc/systemd/system/debug-shell.service
+++ b/remote/modules/systemd/data/etc/systemd/system/debug-shell.service
@@ -13,7 +13,7 @@ IgnoreOnIsolate=yes
[Service]
Environment=TERM=linux
-EnvironmentPath=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/openslx/sbin:/openslx/bin:/openslx/usr/sbin:/openslx/usr/bin
+EnvironmentPath=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/openslx/sbin:/opt/openslx/bin:/opt/openslx/usr/sbin:/opt/openslx/usr/bin
ExecStart=/bin/sh
Restart=always
RestartSec=0
diff --git a/remote/modules/systemd/data/etc/systemd/system/getty.target.wants/load-german-keymap.service b/remote/modules/systemd/data/etc/systemd/system/getty.target.wants/load-german-keymap.service
deleted file mode 120000
index d329f45a..00000000
--- a/remote/modules/systemd/data/etc/systemd/system/getty.target.wants/load-german-keymap.service
+++ /dev/null
@@ -1 +0,0 @@
-../load-german-keymap.service \ No newline at end of file
diff --git a/remote/modules/systemd/data/etc/systemd/system/load-german-keymap.service b/remote/modules/systemd/data/etc/systemd/system/load-german-keymap.service
index 74753259..fa4cf5f2 100644
--- a/remote/modules/systemd/data/etc/systemd/system/load-german-keymap.service
+++ b/remote/modules/systemd/data/etc/systemd/system/load-german-keymap.service
@@ -2,4 +2,4 @@
Description=Setup german keyboard layout
[Service]
-ExecStart=/bin/bash -c 'exec /openslx/sbin/loadkmap < /etc/keymaps/de_DE'
+ExecStart=/bin/bash -c 'exec /opt/openslx/sbin/loadkmap < /etc/keymaps/de_DE'
diff --git a/remote/modules/systemd/data/etc/systemd/system/network-interface@.service b/remote/modules/systemd/data/etc/systemd/system/network-interface@.service
index 137b3af6..13a30bbc 100644
--- a/remote/modules/systemd/data/etc/systemd/system/network-interface@.service
+++ b/remote/modules/systemd/data/etc/systemd/system/network-interface@.service
@@ -5,4 +5,4 @@ Before=udhcpc@%i.service
[Service]
Type=simple
-ExecStart=/openslx/bin/ip link set dev %I up
+ExecStart=/opt/openslx/bin/ip link set dev %I up
diff --git a/remote/modules/systemd/data/etc/systemd/system/udhcpc@.service b/remote/modules/systemd/data/etc/systemd/system/udhcpc@.service
index a945e743..af4c70bb 100644
--- a/remote/modules/systemd/data/etc/systemd/system/udhcpc@.service
+++ b/remote/modules/systemd/data/etc/systemd/system/udhcpc@.service
@@ -3,7 +3,7 @@ Description=DHCP Client
[Service]
Type=simple
-ExecStart=/openslx/sbin/udhcpc -O domain -O nissrv -O nisdomain -O wpad -t 8 -s /etc/udhcpc.openslx.script -i %I
+ExecStart=/opt/openslx/sbin/udhcpc -O domain -O nissrv -O nisdomain -O wpad -t 8 -s /etc/udhcpc.openslx.script -i %I
[Install]
WantedBy=multi-user.target
diff --git a/remote/modules/vmchooser/data/opt/openslx/bin/run-virt.sh b/remote/modules/vmchooser/data/opt/openslx/bin/run-virt.sh
new file mode 100755
index 00000000..b3863a2e
--- /dev/null
+++ b/remote/modules/vmchooser/data/opt/openslx/bin/run-virt.sh
@@ -0,0 +1,440 @@
+#!/bin/bash
+# -----------------------------------------------------------------------------
+# Copyright (c) 2007..2010 - RZ Uni FR
+# Copyright (c) 2007..2011 - OpenSLX GmbH
+#
+# This program is free software distributed under the GPL version 2.
+# See http://openslx.org/COPYING
+#
+# If you have any feedback please consult http://openslx.org/feedback and
+# send your suggestions, praise, or complaints to feedback@openslx.org
+#
+# General information about OpenSLX can be found at http://openslx.org/
+# -----------------------------------------------------------------------------
+# run-virt.sh
+# - This is the generic wrapper for the several virtualization solutions.
+# The idea is to setup a set of variables used by at least two different
+# tools and then include the specific plugin which configures the speci-
+# fied virtualization tool.
+################################################################################
+
+. /etc/opt/openslx/openslx.conf
+
+################################################################################
+### Define default dirs / get configs
+################################################################################
+
+PLUGINCONFROOT=${OPENSLX_DEFAULT_CONFDIR}/plugins
+PLUGINCONFDIR=${PLUGINCONFROOT}/vmchooser
+# include general configuration from vmchooser
+[ -f ${PLUGINCONFROOT}/vmchooser/vmchooser.conf ] && \
+ . ${PLUGINCONFROOT}/vmchooser/vmchooser.conf
+# load general virtualization information
+[ -f ${PLUGINCONFROOT}/virtualization/virtualization.conf ] && \
+ . ${PLUGINCONFROOT}/virtualization/virtualization.conf
+
+################################################################################
+### Functions used throughout the script
+################################################################################
+
+# function to write to stdout and logfile
+LOGFILE=${OPENSLX_DEFAULT_LOGDIR}/run-virt.${USER}.$$.log
+writelog () {
+ # write to stdout
+ echo -e "$1"
+ # log into file
+ echo -e "$1" >> ${LOGFILE}
+}
+
+# remove config dirs when exit
+cleanexit () {
+ if echo "${RMDIRS}" 2>/dev/null | grep -q ${xmlvirt}; then
+ writelog "${xmlvirt} exited. Cleanning up... \c"
+ rm -rf ${RMDIRS} >/dev/null 2>&1
+ writelog "done"
+ fi
+
+ exit "$1"
+}
+
+# check for important files used
+filecheck ()
+{
+ filecheck=$(LANG=us ls -lh ${diskfile} 2>&1)
+ writelog "Filecheck:\n${filecheck}\n"
+ noimage=$(echo ${filecheck} | grep -i "no such file or directory" | wc -l)
+ rightsfile=${diskfile}
+
+ # check if link
+ if [ -L "${diskfile}" ]; then
+ # take link target
+ rightsfile=$(ls -lh ${diskfile} 2>&1 | awk -F '-> *' '{print $2}')
+ rightsfile=${vmdir}/${rightsfile}
+ filecheck=$(LANG=us ls -lh ${rightsfile} 2>&1)
+ fi
+
+ # does file exist
+ if [ "${noimage}" -ge "1" ]; then
+ writelog "Virtual Machine Image Problem:\c "
+ writelog "\tThe image you've specified doesn't exist."
+ writelog "Filecheck says:\c "
+ writelog "\t\t${diskfile}:\n\t\t\tNo such file or directory"
+ writelog "Hint:\c "
+ writelog "\t\t\tCompare spelling of the image with your options.\n"
+ exit 1
+ fi
+
+ # readable by calling user
+ if ! [ -r "${diskfile}" >/dev/null 2>&1 \
+ -o -r "${diskfile}" >/dev/null 2>&1 ]; then
+ writelog "Vmware Image Problem:\c "
+ writelog "\tThe image you've specified has wrong rights."
+ writelog "Filecheck says:\t\t$(echo ${filecheck} \
+ | awk '{print $1" "$3" "$4}') ${rightsfile}"
+ writelog "Hint:\t\t\tChange rights with: chmod a+r ${rightsfile}\n"
+ exit 1
+ fi
+
+ # writable (for persistent-mode)?
+ if ! [ -w "${diskfile}" >/dev/null 2>&1 \
+ -o -w "${diskfile}" >/dev/null 2>&1 ] \
+ && [ "${np}" = "independent-persistent" ]; then
+ writelog "Vmware Image Problem:\c "
+ writelog "\tThe image you have specified has wrong rights."
+ writelog "Filecheck says:\t\t$(echo ${filecheck} \
+ | awk '{print $1" "$3" "$4}') ${rightsfile}"
+ writelog "Hint:\t\t\tUse nonpersistent-mode or change rights to rw\n"
+ exit 1
+ fi
+}
+
+################################################################################
+### Get XML file and dir
+################################################################################
+
+# absolute or relative path?
+xmlfile=$1
+if ls ${xmlfile} 2>/dev/null | grep '/' >/dev/null 2>&1; then
+ xmlpath=$(dirname ${xmlfile})
+ xmlfile=$(basename ${xmlfile})
+else
+ xmlpath=${vmchooser_xmlpath}
+fi
+# full path
+xmlfile="${xmlpath}/${xmlfile%.xml}.xml"
+
+################################################################################
+### Sanity checks
+################################################################################
+
+# test if the xml file is valid
+if ! [ -r "${xmlfile}" ]; then
+ writelog "${xmlfile} not a readable XML file!"
+ exit 1
+fi
+
+# test if XML file
+if ! grep '<?xml' "${xmlfile}" >/dev/null 2>&1; then
+ writelog \
+ "Submitted configuration file ${xmlfile} seems to have wrong XML format"
+ exit 1
+fi
+
+# check for running in graphical environment otherwise no much use here
+[ -z "$DISPLAY" ] && echo -e "\n\tStart only within a graphical desktop!\n" \
+ && exit 1
+
+################################################################################
+### Logo for console
+################################################################################
+
+cat <<EOL
+ __ __
+ .----.--.--.-----.___.--.--.|__|.----.| |_
+ | _| | | |___| | || || _|| _|
+ |__| |_____|__|__| \___/ |__||__| |____|
+ OpenSLX virtual machine environment preparation script ...
+
+EOL
+
+################################################################################
+### Read needed variables from XML file
+################################################################################
+
+writelog "Starting configuration..."
+writelog "\tLogfile:\t\t${LOGFILE}"
+writelog "\t/tmp info:\t\t$(df -h | grep " /tmp$" | awk '{print $2}') \c"
+writelog "$(grep "/tmp " /proc/mounts | awk '{print $1" "$2" "$3" "$4}')"
+writelog "\tVM XML dir:\t\t$(dirname ${xmlfile})"
+writelog "\tXML file:\t\t${xmlfile}"
+writelog "VM config:"
+
+# Name of the virt image
+imgname=$(grep -io '<image_name param=.*"' ${xmlfile} \
+ | sed -e "s/&.*;/; /g" | awk -F '"' '{ print $2 }')
+
+# Imagename /w full path
+if echo ${imgname} 2>/dev/null | grep -q '^/' >/dev/null 2>&1; then
+ imgpath=$(dirname ${imgname})
+ imgname=$(basename ${imgname})
+ vmpath=${imgpath}/${imgname}
+# If old vmchooser binary stuff
+# We do not need folder name as it is already included by vmchooser
+elif echo ${xmlfile} 2>/dev/null | grep -q '^/tmp/' >/dev/null 2>&1; then
+ vmpath=$imgname
+ imgname=$(basename ${imgname})
+# Else use same path as xml
+else
+ imgpath=${xmlpath}
+ vmpath=${imgpath}/${imgname}
+fi
+
+# Check if virtual machine container file exists
+if ! [ -e "${vmpath}" ]; then
+ writelog "Virtual machine image ${vmpath} not found!"
+ exit 1
+fi
+
+# Name of the virt machine, sed because of Windows formatting
+vm_name=$(grep -o 'short_description param=.*"' ${xmlfile} \
+ | sed -e "s/&.*;/; /g" | awk -F '"' '{print $2}')
+# If ${vm_name} not defined use ${xmlfile}
+vm_name=${vm_name:-${xmlfile%.xml}}
+
+# Define vm_shortname since vm_name can be very long
+vm_shortname=$(basename ${xmlfile%.xml} | sed -e "s, ,-,g")
+
+# vm_name = displayname, define for old scripts
+displayname=${vm_name}
+
+# image is for the following virtual machine
+xmlvirt=$(grep -o 'virtualmachine param=.*"' ${xmlfile} \
+ | sed -e "s/&.*;/; /g" | awk -F '"' '{print $2}')
+
+# choose the proper virtualization/emulator plugin
+[ "x${xmlvirt}" != "x" -a "x${xmlvirt}" != "xqemukvm" -a \
+ "x${xmlvirt}" != "xvirtualbox" -a "x${xmlvirt}" != "xvmware" ] && \
+ xmlvirt="emufe"
+
+# make a guess from the filename extension if ${xmlvirt} is empty
+# (not set within the XML file)
+# TODO: implement possibility to submit own configuration files
+if [ -z "${xmlvirt}" ] && [ -n "${additional_config}" ]; then
+ writelog "No virtual machine parameter defined in ${xmlfile}"
+ writelog "Trying to guess VM...\c"
+ case "$(cat ${additional_config} | tr \"[A-Z]\" \"[a-z]\")" in
+ *config.version*|*virtualhw.version*|*independent-nonpersistent*|*vmdk*)
+ xmlvirt="vmware"
+ ;;
+ *innotek*|*virtualbox*)
+ xmlvirt="virtualbox"
+ ;;
+ *qemu*|*kvm*)
+ xmlvirt="qemukvm"
+ ;;
+ *)
+ xmlvirt="none"
+ ;;
+ esac
+elif [ -z "${xmlvirt}" ]; then
+ case "$(echo ${imgname##*.} | tr \"[A-Z]\" \"[a-z]\")" in
+ vmdk)
+ xmlvirt="vmware"
+ ;;
+ vbox|vdi)
+ xmlvirt="virtualbox"
+ ;;
+ qcow*)
+ xmlvirt="qemukvm"
+ ;;
+ *)
+ xmlvirt="emufe"
+ ;;
+ esac
+ writelog "result:\t${xmlvirt}"
+fi
+
+# Definition of the client system
+vmostype=$(grep -io '<os param=.*"' ${xmlfile} | awk -F '"' '{ print $2 }' |\
+ tr "[A-Z]" "[a-z]")
+
+# Definition of the networking the client system is connected to
+network_kind=$(grep -io '<network param=.*"' ${xmlfile} \
+ | awk -F '"' '{ print $2 }' | tr "[A-Z]" "[a-z]")
+network_card=$(grep -io '<netcard param=.*"' ${xmlfile} \
+ | awk -F '"' '{ print $2 }'| tr "[A-Z]" "[a-z]")
+
+# Set redirects to 0, see vmgrid if you want to define some
+redirects=0
+
+# Serial/parallel ports defined (e.g. "ttyS0" or "autodetect")
+serial=$(grep -io '<serialport param=.*"' ${xmlfile} \
+ | awk -F '"' '{ print $2 }')
+parallel=$(grep -io '<parport param=.*"' ${xmlfile} \
+ | awk -F '"' '{ print $2 }')
+
+writelog "\tVirtualization:\t\t$xmlvirt"
+writelog "\tVM name:\t\t$vm_name"
+writelog "\tVM short name:\t\t$vm_shortname"
+
+###############################################################################
+### Declaration of default variables
+###############################################################################
+
+# VM-ID static (00)
+VM_ID="00"
+# take last two digits of current pid...
+VM_ID=$(expr substr $$ $(expr ${#$} - 1) 2)
+
+# Make sure cpu_cores is not empty
+cpu_cores=${cpu_cores:-"1"}
+
+# Total amount of memory defined in stage 3
+# TODO: Should be dependent on the setup (if diff is written to RAM ...)
+permem=60
+if [ "x${VMCHOOSER_FORCE_HALF_MEM}" == "x1" ]; then
+ permem=30
+fi
+# Get a result which can be divided through 4
+mem=$(expr ${totalmem} / 100 \* ${permem} / 4 \* 4)
+if [ -n "${mainvirtmem}" ]; then
+ forcemem=$(expr ${mainvirtmem} / 4 \* 4)
+ mem=${forcemem}
+fi
+hostmem=$(expr ${totalmem} - ${mem})
+
+# Configuring ethernet mac address: first 3 bytes are fixed (00:50:56)
+# 4th byte is the VM-ID (0D)
+# last two bytes are taken from the bridge of the host
+# define one MAC per guest
+macguestpart="00:50:56:${VM_ID}"
+machostpart=$(echo ${hostmacaddr} | awk -F ":" '{print $(NF-1)":"$NF}')
+macaddr=$(echo "${macguestpart}:${machostpart}" | tr "[a-z]" "[A-Z]")
+
+# Virtual fd/cd/dvd and drive devices, floppy b: for configuration
+# if $floppy_0 from run-virt.include set then fdtest="TRUE"
+fdtest=
+fdtest=${floppy_0:+"TRUE"}
+# if $fdtest not set floppy0="FALSE", else "TRUE"
+floppy0=${fdtest:-"FALSE"}
+floppy1="TRUE"
+floppy1name="${PLUGINCONFDIR}/loopimg/fd.img"
+# if $cdrom_0 from run-virt.include set then cdtest="TRUE"
+cdtest=
+cdtest=${cdrom_0:+"TRUE"}
+# if $cdtest not set cdrom0="FALSE", else "TRUE"
+cdrom0=${cdtest:-"FALSE"}
+# if $cdrom_1 from run-virt.include set then cdtest="TRUE"
+cdtest=
+cdtest=${cdrom_1:+"TRUE"}
+# if $cdtest not set cdrom1="FALSE", else "TRUE"
+cdrom1=${cdtest:-"FALSE"}
+# IDE is expected default, test for the virtual disk image type should
+# be done while creating the runscripts ...
+ide="TRUE"
+scsi="FALSE"
+hddrv="ide"
+audio="true"
+remotedesktopport="590${VM_ID}"
+
+# Display resolution within the host system
+hostres=$(xvidtune -show 2>/dev/null| grep -ve "^$")
+xres=$(echo "${hostres}" | awk '{print $3}')
+yres=$(echo "${hostres}" | awk '{print $7}')
+
+# Resolution defined via xml parameter: fullscreen, full/X*Y/depth; windowed,
+# win/X*Y/depth
+userres=$(grep -io '<screen param=.*"' ${xmlfile} | awk -F '"' '{ print $2 }' | \
+ tr "A-Z" "a-z")
+case "${userres}" in
+ full*)
+ res=$(echo "${hostres}" | awk -F "/" '{print $2}')
+ uxres=${res%\**}
+ uyres=${#*\*}
+ userres="full"
+ ;;
+ win*)
+ res=$(echo "${hostres}" | awk -F "/" '{print $2}')
+ uxres=${res%\**}
+ uyres=${#*\*}
+ userres="win"
+ ;;
+esac
+
+
+# Enable 3D
+enable3d=$(grep -i "<enable3d param=.*" ${xmlfile} 2>/dev/null | \
+ awk -F '=' {'print $2'} | tr "[A-Z]" "[a-z]")
+
+# Add rw share
+sharepath="${HOME}"
+sharename="home"
+
+# Set hostname: using original hostname and adding string
+hostname="virt-$(hostname)"
+
+writelog "\tVM Hostname:\t\t$hostname"
+
+################################################################################
+### Setup the rest of the environment and run the configured vm
+################################################################################
+
+# Adjust sound volume
+writelog "Unmuting sound...\c "
+amixer -q sset Master 80% unmute 2>/dev/null
+amixer -q sset PCM 80% unmute 2>/dev/null
+amixer -q sset CD 80% unmute 2>/dev/null
+amixer -q sset Headphone 80% unmute 2>/dev/null
+amixer -q sset Front 80% unmute 2>/dev/null # in SUSE 11.0 it's headphone
+amixer -q sset Speaker 80% unmute 2>/dev/null # annoying built-in speaker
+writelog "finished\n"
+
+# Copy guest configuration (with added information) config.xml to be accessed
+# via virtual floppy
+# fixme -> to be changed (vmchooser adapts the file content!?)
+#TODO: wozu echo?
+#echo "Please fix the config.xml generation"
+cp ${xmlfile} ${PLUGINCONFDIR}/fd-loop/config.xml
+
+# Get all virtual machine specific stuff from the respective include file
+if [ -e ${PLUGINCONFROOT}/${xmlvirt}/run-virt.include ] ; then
+ self=${xmlvirt}
+ . ${PLUGINCONFROOT}/${xmlvirt}/run-virt.include
+ # start a windowmanager for easier handling
+ # (expect problems /w windows opening in background /w vmware without wm)
+ for dm in xfwm4 metacity openbox blackbox kwin fvwm2 ; do
+ if which $dm >/dev/null 2>&1 ; then
+ if [ "$dm" = "fvwm2" ] ; then
+ echo "EdgeScroll 0 0" > ${redodir}/fvwm
+ fvwm2 -f ${redodir}/fvwm >/dev/null 2>&1 &
+ else
+ $dm >/dev/null 2>&1 &
+ fi
+ break
+ fi
+ done
+ # Start poolvideoswitch if we find the autostarter file
+ if [ -e /etc/xdg/autostart/pvsgui.desktop ]; then
+ /usr/local/bin/pvsgui -p 2 -b >/dev/null 2>&1 &
+ fi
+ eval ${VIRTCMD} ${VIRTCMDOPTS}
+ writelog "Bye."
+
+ # Postrun for commands after virtualization finishes
+ if [ -n "${POSTRUN}" ]; then
+ eval ${POSTRUN} >/dev/null 2>&1
+ fi
+
+ cleanexit 0
+else
+ writelog "Failed because of missing ${xmlvirt} plugin."
+ cleanexit 1
+fi
+
+# Postrun for commands after virtualization finishes
+if [ -n "${POSTRUN}" ]; then
+ eval ${POSTRUN} >/dev/null 2>&1
+fi
+
+cleanexit 0
+exit 0
diff --git a/remote/modules/vmchooser/data/opt/openslx/bin/vmplayer b/remote/modules/vmchooser/data/opt/openslx/bin/vmplayer
new file mode 100755
index 00000000..c9b57a65
--- /dev/null
+++ b/remote/modules/vmchooser/data/opt/openslx/bin/vmplayer
@@ -0,0 +1,8 @@
+#!/bin/sh
+# written by OpenSLX-plugin 'vmware' in Stage1
+# radically simplified version of the original script vmplayer by VMware Inc.
+PREFIX=/usr/lib/vmware # depends on the vmware location
+exec "$PREFIX"'/lib/wrapper-gtk24.sh' \
+ "$PREFIX"'/lib' \
+ "$PREFIX"'/bin/vmplayer' \
+ "$PREFIX"'/libconf' "$@"
diff --git a/remote/modules/vmchooser/data/opt/openslx/bin/vmware b/remote/modules/vmchooser/data/opt/openslx/bin/vmware
new file mode 100755
index 00000000..8b568f53
--- /dev/null
+++ b/remote/modules/vmchooser/data/opt/openslx/bin/vmware
@@ -0,0 +1,8 @@
+#!/bin/sh
+# written by OpenSLX-plugin 'vmware' in Stage1
+# radically simplified version of the original script vmware by VMware Inc.
+PREFIX=/usr/lib/vmware # depends on the vmware location
+exec "$PREFIX"'/lib/wrapper-gtk24.sh' \
+ "$PREFIX"'/lib' \
+ "$PREFIX"'/bin/vmware' \
+ "$PREFIX"'/libconf' "$@"
diff --git a/remote/modules/vmchooser/data/opt/openslx/bin/xmlfilter.sh b/remote/modules/vmchooser/data/opt/openslx/bin/xmlfilter.sh
new file mode 100755
index 00000000..ded5d114
--- /dev/null
+++ b/remote/modules/vmchooser/data/opt/openslx/bin/xmlfilter.sh
@@ -0,0 +1,50 @@
+#!/bin/bash
+# -----------------------------------------------------------------------------
+# Copyright (c) 2007..2009 - RZ Uni FR
+# Copyright (c) 2007..2011 - OpenSLX GmbH
+#
+# This program is free software distributed under the GPL version 2.
+# See http://openslx.org/COPYING
+#
+# If you have any feedback please consult http://openslx.org/feedback and
+# send your suggestions, praise, or complaints to feedback@openslx.org
+#
+# General information about OpenSLX can be found at http://openslx.org/
+# -----------------------------------------------------------------------------
+# xmlfilter.sh
+# - This script is invoked by the vmchooser tool. It simply filters xml-
+# files (taking the path to these files in $1). You might modify it in any
+# way to match your needs, e.g. ask some database instead. You can re-
+# implement it in any other programming language too. You simply have to
+# return a list of proper xml files to be interpreted by the vmchooser
+# binary). Please check for vmchooser.sh too ...
+# -----------------------------------------------------------------------------
+
+# This script .
+#
+# currently:
+# - filter for slxgrp (which comes from /etc/machine-setup)
+#
+
+# include default directories
+. /etc/opt/openslx/openslx.conf
+
+if [ -f ${OPENSLX_DEFAULT_CONFDIR}/plugins/vmchooser/vmchooser.conf ]; then
+ . ${OPENSLX_DEFAULT_CONFDIR}/plugins/vmchooser/vmchooser.conf
+fi
+
+for FILE in $(find $1 -iname "*.xml"); do
+ # filter all xmls which aren't set active
+ if [ $(grep "<active param=.*true.*" ${FILE} | wc -l) -eq 1 ]; then
+ if [ -n ${vmchooser_env} ]; then
+ # filter all xmls with pool-param not equal to vmchooser::env
+ if [ $(grep "<pools param=\"${vmchooser_env}\"" ${FILE} | wc -l) -eq 1 ];\
+ then
+ echo ${FILE};
+ fi
+ else
+ # if there is no pool set, just take all available xmls
+ echo -e ${active}
+ fi
+ fi
+done
diff --git a/remote/modules/vmchooser/data/usr/share/xsessions/default.desktop b/remote/modules/vmchooser/data/usr/share/xsessions/default.desktop
index 48812a8e..d33615cf 100755
--- a/remote/modules/vmchooser/data/usr/share/xsessions/default.desktop
+++ b/remote/modules/vmchooser/data/usr/share/xsessions/default.desktop
@@ -4,7 +4,7 @@ Name=virtual machine chooser (default)
Name[de]=Virtuelle Maschine auswählen
Comment=This session starts the vm session chooser
Comment[de]=Diese Sitzung startet das Auswahlmenü für die vorhandenen Sitzungen
-Exec=/opt/openslx/vmchooser/bin/vmchooser -c /etc/openslx/vmchooser/vmchooser.conf
-TryExec=/opt/openslx/vmchooser/bin/vmchooser -c /etc/openslx/vmchooser/vmchooser.conf
+Exec=/opt/openslx/bin/vmchooser -c /etc/openslx/vmchooser/vmchooser.conf
+TryExec=/opt/openslx/bin/vmchooser
Icon=
Type=Application
diff --git a/remote/modules/vmchooser/data/usr/share/xsessions/xterm.desktop b/remote/modules/vmchooser/data/usr/share/xsessions/xterm.desktop
new file mode 100755
index 00000000..52e20dca
--- /dev/null
+++ b/remote/modules/vmchooser/data/usr/share/xsessions/xterm.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Xterm
+Name[de]=Xterm
+Comment=This session starts Xterm
+Comment[de]=Diese Sitzung startet Xterm
+Exec=/usr/bin/xterm
+TryExec=/usr/bin/xterm
+Icon=
+Type=Application
diff --git a/remote/modules/vmchooser/vmchooser.build b/remote/modules/vmchooser/vmchooser.build
index 340b1d9a..facd8c54 100644
--- a/remote/modules/vmchooser/vmchooser.build
+++ b/remote/modules/vmchooser/vmchooser.build
@@ -5,11 +5,17 @@ fetch_source() {
}
build() {
- cd src
- pinfo "Running vmchooser buildscript"
- . build.sh
- pinfo ""
- cd - &> /dev/null
+
+SRCDIR="${MODULE_DIR}/src/"
+
+[ ! -d "${MODULE_BUILD_DIR}/${PREFIX}" ] && mkdir -p "${MODULE_BUILD_DIR}/${PREFIX}"
+cd "${MODULE_BUILD_DIR}/${PREFIX}"
+
+pinfo "Running make"
+cmake $CMAKE_ARGS $SRCDIR && make
+
+cd - &> /dev/null
+
}
post_copy() {
diff --git a/remote/modules/vmchooser/vmchooser.conf b/remote/modules/vmchooser/vmchooser.conf
index 4054d59b..976384aa 100644
--- a/remote/modules/vmchooser/vmchooser.conf
+++ b/remote/modules/vmchooser/vmchooser.conf
@@ -1,5 +1,5 @@
GIT=git://git.openslx.org/openslx/tools/vmchooser.git
REQUIRED_DEPENDENCIES=" cmake
libqt4-dev"
-TARGET_DIR="opt/openslx/vmchooser/bin"
+PREFIX="/opt/openslx/bin"
REQUIRED_BINARIES="vmchooser"
diff --git a/remote/modules/xorg/data/etc/X11/Xsession b/remote/modules/xorg/data/etc/X11/Xsession
index e239d586..529208cd 100755..100644
--- a/remote/modules/xorg/data/etc/X11/Xsession
+++ b/remote/modules/xorg/data/etc/X11/Xsession
@@ -1,114 +1,6 @@
-#!/bin/sh
-#
-# /etc/X11/Xsession
-#
-# global Xsession file -- used by display managers and xinit (startx)
+#!/bin/bash
-# $Id: Xsession 967 2005-12-27 07:20:55Z dnusinow $
+#Workaround to start Xsession. The original Xsession script includes error handling functionality and sources other scrips from the Xsession.d/ directory.
-set -e
-
-PROGNAME=Xsession
-
-message () {
- # pretty-print messages of arbitrary length; use xmessage if it
- # is available and $DISPLAY is set
- MESSAGE="$PROGNAME: $*"
- echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2
- if [ -n "$DISPLAY" ] && which xmessage > /dev/null 2>&1; then
- echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file -
- fi
-}
-
-message_nonl () {
- # pretty-print messages of arbitrary length (no trailing newline); use
- # xmessage if it is available and $DISPLAY is set
- MESSAGE="$PROGNAME: $*"
- echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2;
- if [ -n "$DISPLAY" ] && which xmessage > /dev/null 2>&1; then
- echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file -
- fi
-}
-
-errormsg () {
- # exit script with error
- message "$*"
- exit 1
-}
-
-internal_errormsg () {
- # exit script with error; essentially a "THIS SHOULD NEVER HAPPEN" message
- # One big call to message() for the sake of xmessage; if we had two then
- # the user would have dismissed the error we want reported before seeing the
- # request to report it.
- errormsg "$*" \
- "Please report the installed version of the \"x11-common\"" \
- "package and the complete text of this error message to" \
- "<debian-x@lists.debian.org>."
-}
-
-# initialize variables for use by all session scripts
-
-OPTIONFILE=/etc/X11/Xsession.options
-
-SYSRESOURCES=/etc/X11/Xresources
-USRRESOURCES=$HOME/.Xresources
-
-SYSSESSIONDIR=/etc/X11/Xsession.d
-USERXSESSION=$HOME/.xsession
-USERXSESSIONRC=$HOME/.xsessionrc
-ALTUSERXSESSION=$HOME/.Xsession
-ERRFILE=$HOME/.xsession-errors
-
-# attempt to create an error file; abort if we cannot
-if (umask 077 && touch "$ERRFILE") 2> /dev/null && [ -w "$ERRFILE" ] &&
- [ ! -L "$ERRFILE" ]; then
- chmod 600 "$ERRFILE"
-elif ERRFILE=$(tempfile 2> /dev/null); then
- if ! ln -sf "$ERRFILE" "${TMPDIR:=/tmp}/xsession-$USER"; then
- message "warning: unable to symlink \"$TMPDIR/xsession-$USER\" to" \
- "\"$ERRFILE\"; look for session log/errors in" \
- "\"$TMPDIR/xsession-$USER\"."
- fi
-else
- errormsg "unable to create X session log/error file; aborting."
-fi
-
-# truncate ERRFILE if it is too big to avoid disk usage DoS
-if [ "`stat -c%s \"$ERRFILE\"`" -gt 500000 ]; then
- T=`mktemp -p "$HOME"`
- tail -c 500000 "$ERRFILE" > "$T" && mv -f "$T" "$ERRFILE" || rm -f "$T"
-fi
-
-exec >>"$ERRFILE" 2>&1
-
-echo "$PROGNAME: X session started for $LOGNAME at $(date)"
-
-# Attempt to create a file of non-zero length in /tmp; a full filesystem can
-# cause mysterious X session failures. We do not use touch, :, or test -w
-# because they won't actually create a file with contents. We also let standard
-# error from tempfile and echo go to the error file to aid the user in
-# determining what went wrong.
-WRITE_TEST=$(tempfile)
-if ! echo "*" >>"$WRITE_TEST"; then
- message "warning: unable to write to ${WRITE_TEST%/*}; X session may exit" \
- "with an error"
-fi
-rm -f "$WRITE_TEST"
-
-# use run-parts to source every file in the session directory; we source
-# instead of executing so that the variables and functions defined above
-# are available to the scripts, and so that they can pass variables to each
-# other
-SESSIONFILES=$(run-parts --list $SYSSESSIONDIR)
-if [ -n "$SESSIONFILES" ]; then
- set +e
- for SESSIONFILE in $SESSIONFILES; do
- . $SESSIONFILE
- done
- set -e
-fi
-
-exit 0
-
-# vim:set ai et sts=2 sw=2 tw=80:
+#start selected session
+exec $1
diff --git a/remote/modules/xorg/data/usr/share/xsessions/gnome.desktop b/remote/modules/xorg/data/usr/share/xsessions/gnome.desktop
deleted file mode 100644
index cdc66661..00000000
--- a/remote/modules/xorg/data/usr/share/xsessions/gnome.desktop
+++ /dev/null
@@ -1,9 +0,0 @@
-[Desktop Entry]
-X-SuSE-translate=true
-Encoding=UTF-8
-Type=XSession
-Exec=gnome-session
-#TryExec=gnome-session
-Name=GNOME
-Comment=The GNU Network Object Model Environment. A complete, free and easy-to-use desktop environment
-
diff --git a/remote/rootfs/rootfs-stage31/rootfs-stage31.build b/remote/rootfs/rootfs-stage31/rootfs-stage31.build
index 19a5838a..9e4d7663 100644
--- a/remote/rootfs/rootfs-stage31/rootfs-stage31.build
+++ b/remote/rootfs/rootfs-stage31/rootfs-stage31.build
@@ -24,9 +24,9 @@ post_copy() {
copy_firmware
copy_kernel
- # copy busybox that has been under /openslx back to /
- cp -r "${TARGET_BUILD_DIR}"/openslx/* "${TARGET_BUILD_DIR}"
- rm -rf "${TARGET_BUILD_DIR}/openslx"
+ # copy busybox that has been under /opt/openslx back to /
+ cp -r "${TARGET_BUILD_DIR}"/opt/openslx/* "${TARGET_BUILD_DIR}"
+ rm -rf "${TARGET_BUILD_DIR}/opt/openslx"
}
#
diff --git a/remote/rootfs/rootfs-stage32/data/etc/profile b/remote/rootfs/rootfs-stage32/data/etc/profile
index ff29e9c5..a9b85a9c 100644
--- a/remote/rootfs/rootfs-stage32/data/etc/profile
+++ b/remote/rootfs/rootfs-stage32/data/etc/profile
@@ -5,10 +5,10 @@ export PATH=\
/sbin:\
/usr/bin:\
/usr/sbin:\
-/openslx/bin:\
-/openslx/sbin:\
-/openslx/usr/bin:\
-/openslx/usr/sbin
+/opt/openslx/bin:\
+/opt/openslx/sbin:\
+/opt/openslx/usr/bin:\
+/opt/openslx/usr/sbin
# If running interactively, then:
if [ "$PS1" ]; then
diff --git a/remote/rootfs/rootfs-stage32/data/etc/udhcpc.openslx.script b/remote/rootfs/rootfs-stage32/data/etc/udhcpc.openslx.script
index b4cd0ee5..773a7370 100755
--- a/remote/rootfs/rootfs-stage32/data/etc/udhcpc.openslx.script
+++ b/remote/rootfs/rootfs-stage32/data/etc/udhcpc.openslx.script
@@ -20,7 +20,7 @@
RESOLV_CONF="/etc/resolv.conf"
IP_CONF="/tmp/udhcpc_ip_config"
-export PATH=$PATH:/openslx/sbin:/openslx/bin
+export PATH=$PATH:/opt/openslx/sbin:/opt/openslx/bin
set >> /root/udhcpc_args
diff --git a/remote/rootfs/rootfs-stage32/data/usr/sbin/mountexport b/remote/rootfs/rootfs-stage32/data/usr/sbin/mountexport
index 61176364..cc08728e 100755
--- a/remote/rootfs/rootfs-stage32/data/usr/sbin/mountexport
+++ b/remote/rootfs/rootfs-stage32/data/usr/sbin/mountexport
@@ -1,6 +1,6 @@
#!/bin/bash
-export PATH=$PATH:/openslx/usr/sbin:/openslx/usr/bin:/openslx/sbin:/openslx/bin
+export PATH=$PATH:/opt/openslx/usr/sbin:/opt/openslx/usr/bin:/opt/openslx/sbin:/opt/openslx/bin
if grep "Ubuntu" "/etc/issue" >/dev/null; then
EXPORT="132.230.8.113:/srv/ubuntu1304"
@@ -11,7 +11,7 @@ else
exit 1
fi
-echo "Mounting ${EXPORT} to /openslx/mnt"
-mount -t nfs -o ro,async,nolock,vers=3 "$EXPORT" /openslx/mnt || { echo "Fail." && exit 1; }
-echo "Appending /openslx/mnt to /"
-mount -o remount,append:/openslx/mnt=ro / || { echo "Fail." && exit 1; }
+echo "Mounting ${EXPORT} to /opt/openslx/mnt"
+mount -t nfs -o ro,async,nolock,vers=3 "$EXPORT" /opt/openslx/mnt || { echo "Fail." && exit 1; }
+echo "Appending /opt/openslx/mnt to /"
+mount -o remount,append:/opt/openslx/mnt=ro / || { echo "Fail." && exit 1; }
diff --git a/remote/rootfs/rootfs-stage32/rootfs-stage32.build b/remote/rootfs/rootfs-stage32/rootfs-stage32.build
index 164a3464..04b6c5b4 100644
--- a/remote/rootfs/rootfs-stage32/rootfs-stage32.build
+++ b/remote/rootfs/rootfs-stage32/rootfs-stage32.build
@@ -56,14 +56,14 @@ build() {
post_copy() {
# make basic directory structure
- mkdir -p "${TARGET_BUILD_DIR}"/{bin,dev,proc,lib,etc,mnt,sys,var/run,var/lock,var/log,run/lock,run/shm,openslx/mnt}
+ mkdir -p "${TARGET_BUILD_DIR}"/{bin,dev,proc,lib,etc,mnt,sys,var/run,var/lock,var/log,run/lock,run/shm,opt/openslx/mnt}
# copy devices from running system
cp -a /dev/{console,kmsg,mem,null,shm,tty,tty0,tty1,tty9,fb0,urandom,zero} \
"${TARGET_BUILD_DIR}"/dev || perror "Copying devices from running system failed."
- # set /etc/environment to include /openslx/bin and /openslx/sbin
- echo "PATH=\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/openslx/sbin:/openslx/bin\"" \
+ # set /etc/environment to include /opt/openslx/bin and /opt/openslx/sbin
+ echo "PATH=\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/openslx/sbin:/opt/openslx/bin\"" \
> "${TARGET_BUILD_DIR}/etc/environment"
# copy static files
diff --git a/remote/targets/stage32/vmchooser b/remote/targets/stage32/vmchooser
new file mode 120000
index 00000000..d918fbdc
--- /dev/null
+++ b/remote/targets/stage32/vmchooser
@@ -0,0 +1 @@
+../../modules/vmchooser \ No newline at end of file