From c3c77545b5d70a2dc8d104b8b18ce385b25ff6f1 Mon Sep 17 00:00:00 2001 From: Michael Neves Date: Fri, 3 May 2013 13:45:53 +0200 Subject: vmchooser in opt --- remote/modules/vmchooser/vmchooser.build | 16 +++++++++++----- remote/modules/vmchooser/vmchooser.conf | 2 +- .../modules/xorg/data/usr/share/xsessions/gnome.desktop | 9 --------- 3 files changed, 12 insertions(+), 15 deletions(-) delete mode 100644 remote/modules/xorg/data/usr/share/xsessions/gnome.desktop (limited to 'remote/modules') 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..1e41bc6e 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/vmchooser/bin" REQUIRED_BINARIES="vmchooser" 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 - -- cgit v1.2.3-55-g7522 From e18fddc3f4748aab23c594f5503e4ca99ce4b118 Mon Sep 17 00:00:00 2001 From: Michael Neves Date: Fri, 3 May 2013 14:16:15 +0200 Subject: add xterm test session --- .../modules/vmchooser/data/usr/share/xsessions/xterm.desktop | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100755 remote/modules/vmchooser/data/usr/share/xsessions/xterm.desktop (limited to 'remote/modules') 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..57e2c190 --- /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=/opt/openslx/vmchooser/bin/vmchooser -c /etc/openslx/vmchooser/vmchooser.conf +TryExec=/opt/openslx/vmchooser/bin/vmchooser -c /etc/openslx/vmchooser/vmchooser.conf +Icon= +Type=Application -- cgit v1.2.3-55-g7522 From 3df42c7b23aefa8086784d0a18deb5f82bbe11a1 Mon Sep 17 00:00:00 2001 From: Michael Neves Date: Fri, 3 May 2013 14:17:15 +0200 Subject: move /openslx to /opt/openslx --- remote/modules/busybox/busybox.conf | 2 +- .../systemd/data/etc/systemd/system/debug-shell.service | 2 +- .../systemd/data/etc/systemd/system/load-german-keymap.service | 2 +- .../systemd/data/etc/systemd/system/network-interface@.service | 2 +- remote/modules/systemd/data/etc/systemd/system/udhcpc@.service | 2 +- remote/rootfs/rootfs-stage32/data/etc/profile | 8 ++++---- remote/rootfs/rootfs-stage32/data/etc/udhcpc.openslx.script | 2 +- remote/rootfs/rootfs-stage32/data/usr/sbin/mountexport | 10 +++++----- remote/rootfs/rootfs-stage32/rootfs-stage32.build | 2 +- 9 files changed, 16 insertions(+), 16 deletions(-) (limited to 'remote/modules') diff --git a/remote/modules/busybox/busybox.conf b/remote/modules/busybox/busybox.conf index f7c866f2..04f31b23 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/busybox" REQUIRED_BINARIES=" busybox" REQUIRED_DIRECTORIES=" ${PREFIX}/bin ${PREFIX}/sbin 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/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/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..fe0a32ad 100644 --- a/remote/rootfs/rootfs-stage32/rootfs-stage32.build +++ b/remote/rootfs/rootfs-stage32/rootfs-stage32.build @@ -63,7 +63,7 @@ post_copy() { "${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\"" \ + 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 -- cgit v1.2.3-55-g7522 From 264643f7f739efbd7681569b597f09c5a613a6f2 Mon Sep 17 00:00:00 2001 From: Michael Neves Date: Fri, 3 May 2013 14:17:54 +0200 Subject: unlink load-german-keymap.service --- .../etc/systemd/system/getty.target.wants/load-german-keymap.service | 1 - 1 file changed, 1 deletion(-) delete mode 120000 remote/modules/systemd/data/etc/systemd/system/getty.target.wants/load-german-keymap.service (limited to 'remote/modules') 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 -- cgit v1.2.3-55-g7522 From 99df9f1542a3cdae2d784d67a85c1fbcddc98607 Mon Sep 17 00:00:00 2001 From: Michael Neves Date: Fri, 3 May 2013 14:30:51 +0200 Subject: Overwrite Xsession file to start sessions --- remote/modules/kdm/data/etc/kde4/kdm/kdmrc | 8 +- remote/modules/xorg/data/etc/X11/Xsession | 116 +---------------------------- 2 files changed, 8 insertions(+), 116 deletions(-) mode change 100755 => 100644 remote/modules/xorg/data/etc/X11/Xsession (limited to 'remote/modules') 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/xorg/data/etc/X11/Xsession b/remote/modules/xorg/data/etc/X11/Xsession old mode 100755 new mode 100644 index e239d586..529208cd --- 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" \ - "." -} - -# 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 -- cgit v1.2.3-55-g7522 From 2163d6da50b091e18a7fc3a370d4c358bb707c5e Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Fri, 3 May 2013 18:22:30 +0200 Subject: general rsyslog conf file --- remote/modules/rsyslogd/data/etc/rsyslog.conf | 208 ++++++++------------------ 1 file changed, 62 insertions(+), 146 deletions(-) (limited to 'remote/modules') 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 -- cgit v1.2.3-55-g7522 From b9faedd776dbfae40c2cbc0f05b49815149f7b88 Mon Sep 17 00:00:00 2001 From: Michael Neves Date: Fri, 3 May 2013 18:48:22 +0200 Subject: vmchooser --- remote/modules/busybox/busybox.conf | 2 +- .../vmchooser/data/opt/openslx/bin/run-virt.sh | 440 +++++++++++++++++++++ .../vmchooser/data/opt/openslx/bin/vmplayer | 8 + .../modules/vmchooser/data/opt/openslx/bin/vmware | 8 + .../vmchooser/data/opt/openslx/bin/xmlfilter.sh | 50 +++ .../data/usr/share/xsessions/default.desktop | 4 +- .../data/usr/share/xsessions/xterm.desktop | 4 +- remote/modules/vmchooser/vmchooser.conf | 2 +- remote/targets/stage32/vmchooser | 1 + 9 files changed, 513 insertions(+), 6 deletions(-) create mode 100755 remote/modules/vmchooser/data/opt/openslx/bin/run-virt.sh create mode 100755 remote/modules/vmchooser/data/opt/openslx/bin/vmplayer create mode 100755 remote/modules/vmchooser/data/opt/openslx/bin/vmware create mode 100755 remote/modules/vmchooser/data/opt/openslx/bin/xmlfilter.sh create mode 120000 remote/targets/stage32/vmchooser (limited to 'remote/modules') diff --git a/remote/modules/busybox/busybox.conf b/remote/modules/busybox/busybox.conf index 04f31b23..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="/opt/openslx/busybox" +PREFIX="/opt/openslx" REQUIRED_BINARIES=" busybox" REQUIRED_DIRECTORIES=" ${PREFIX}/bin ${PREFIX}/sbin 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 '/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 </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 '/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 '/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 "> /root/udhcpc_args - case $1 in bound|renew) @@ -45,6 +43,7 @@ case $1 in " else R="domain lp.ruf.uni-freiburg.de +search lp.ruf.uni-freiburg.de " fi count=1; -- cgit v1.2.3-55-g7522 From cc1e028c1c402b2c29d119b29b258c62d0ce086a Mon Sep 17 00:00:00 2001 From: Michael Neves Date: Fri, 3 May 2013 19:30:05 +0200 Subject: delete old vmchooser dir --- .../data/opt/openslx/vmchooser/bin/run-virt.sh | 440 --------------------- .../data/opt/openslx/vmchooser/bin/vmplayer | 8 - .../data/opt/openslx/vmchooser/bin/vmware | 8 - .../data/opt/openslx/vmchooser/bin/xmlfilter.sh | 50 --- 4 files changed, 506 deletions(-) delete mode 100755 remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/run-virt.sh delete mode 100755 remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/vmplayer delete mode 100755 remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/vmware delete mode 100755 remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/xmlfilter.sh (limited to 'remote/modules') diff --git a/remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/run-virt.sh b/remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/run-virt.sh deleted file mode 100755 index b3863a2e..00000000 --- a/remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/run-virt.sh +++ /dev/null @@ -1,440 +0,0 @@ -#!/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 '/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 </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 '/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 '/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/vmchooser/bin/vmplayer b/remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/vmplayer deleted file mode 100755 index c9b57a65..00000000 --- a/remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/vmplayer +++ /dev/null @@ -1,8 +0,0 @@ -#!/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/vmchooser/bin/vmware b/remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/vmware deleted file mode 100755 index 8b568f53..00000000 --- a/remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/vmware +++ /dev/null @@ -1,8 +0,0 @@ -#!/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/vmchooser/bin/xmlfilter.sh b/remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/xmlfilter.sh deleted file mode 100755 index ded5d114..00000000 --- a/remote/modules/vmchooser/data/opt/openslx/vmchooser/bin/xmlfilter.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/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 " /proc/sys/kernel/hotplug for DRM in /lib/modules/*/kernel/drivers/gpu/drm/*.ko /lib/modules/*/kernel/drivers/gpu/drm/*/*.ko; do DRM="$(basename "$DRM")" DRM="${DRM%.ko}" - echo "Trying to load module $DRM" - modprobe "$DRM" + echo "Trying to load module $DRM" >> /mnt/modprobing + modprobe "$DRM" > /mnt/modprobing 2>> /mnt/modprobing done # read kernel command line for debugging switch @@ -111,7 +111,7 @@ if [ -n "$nfs" ] ; then mount -t nfs -o ro,async,nolock ${nfsserver}:${nfspath} /rorootfs || { echo "Problem mounting NFS-Directory from ${nfsserver}:${nfspath}. Dropping to DEBUG shell."; DEBUG=1; } else echo "Mounting stage 3.2 as SquashFS" - mount -t squashfs /mnt/$(ls /mnt) /rorootfs || { echo "Problem mounting Squashfs. Dropping to DEBUG shell."; DEBUG=1; } + mount -t squashfs /mnt/$(ls /mnt/*.sqfs) /rorootfs || { echo "Problem mounting Squashfs. Dropping to DEBUG shell."; DEBUG=1; } fi if [ $DEBUG -ge 1 ]; then -- cgit v1.2.3-55-g7522 From ba42fcadd253038dadea8fc93cc0bc4e7cff493a Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 6 May 2013 19:44:53 +0200 Subject: Add vmplayer module --- remote/modules/vmplayer/data/bin/vmplayer | 8 ++++++++ remote/modules/vmplayer/vmplayer.build | 25 +++++++++++++++++++++++++ remote/modules/vmplayer/vmplayer.conf | 3 +++ remote/targets/stage32-opensuse/vmplayer | 1 + 4 files changed, 37 insertions(+) create mode 100755 remote/modules/vmplayer/data/bin/vmplayer create mode 100644 remote/modules/vmplayer/vmplayer.build create mode 100644 remote/modules/vmplayer/vmplayer.conf create mode 120000 remote/targets/stage32-opensuse/vmplayer (limited to 'remote/modules') diff --git a/remote/modules/vmplayer/data/bin/vmplayer b/remote/modules/vmplayer/data/bin/vmplayer new file mode 100755 index 00000000..d4cd1d65 --- /dev/null +++ b/remote/modules/vmplayer/data/bin/vmplayer @@ -0,0 +1,8 @@ +#!/bin/sh + +for mod in /lib/modules/vmware/*.ko; do + insmod "$mod" || xmessage "Could not load kernel module $mod. vmplayer might fail." +done + +/bin/vmplayer-bin $@ + diff --git a/remote/modules/vmplayer/vmplayer.build b/remote/modules/vmplayer/vmplayer.build new file mode 100644 index 00000000..f2400380 --- /dev/null +++ b/remote/modules/vmplayer/vmplayer.build @@ -0,0 +1,25 @@ +fetch_source() { + : +} + +build() { + mkdir -p "$MODULE_BUILD_DIR/lib/modules/vmware" + mkdir -p "$MODULE_BUILD_DIR/bin" + cp "/usr/lib/vmware/bin/vmplayer" "$MODULE_BUILD_DIR/bin/vmplayer-bin" || perror "Could not copy vmplayer binary from /usr/lib/vmware/bin/vmplayer to build dir." + cd "/usr/lib/vmware/modules/source" || perror "vmplayer modules source not found. install vmplayer." + local tarball + for tarball in *.tar; do + pinfo "Building $tarball...." + tar xf "$tarball" || perror "Could not untar $tarball" + cd "${tarball/.tar}-only" || perror "Could not cd to extracted $tarball (tried ${tarball/.tar}-only)" + make LINUXINCLUDE="$MODULE_DIR/../kernel/ksrc/usr/include" || perror "Could not build kernel module $tarball" + cp "${tarball/.tar}.ko" "$MODULE_BUILD_DIR/lib/modules/vmware/" || perror "Could not copy ${tarball/.tar}.ko to $MODULE_BUILD_DIR/lib/modules/vmware/" + cd - + done + cd - +} + +post_copy() { + : +} + diff --git a/remote/modules/vmplayer/vmplayer.conf b/remote/modules/vmplayer/vmplayer.conf new file mode 100644 index 00000000..b7582397 --- /dev/null +++ b/remote/modules/vmplayer/vmplayer.conf @@ -0,0 +1,3 @@ +REQUIRED_BINARIES="vmplayer-bin" +REQUIRED_SYSTEM_FILES="" +REQUIRED_DIRECTORIES="/lib" diff --git a/remote/targets/stage32-opensuse/vmplayer b/remote/targets/stage32-opensuse/vmplayer new file mode 120000 index 00000000..9303aa6a --- /dev/null +++ b/remote/targets/stage32-opensuse/vmplayer @@ -0,0 +1 @@ +../../modules/vmplayer \ No newline at end of file -- cgit v1.2.3-55-g7522 From 6bf5335415273aaef78ed0a5782fde72ab646f62 Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Tue, 7 May 2013 19:33:11 +0200 Subject: dhcp service now requests same IP if he got one previously --- helper/fileutil.inc | 6 +- .../systemd/data/etc/systemd/system/activate-swap | 30 ---- .../data/etc/systemd/system/analyse-disk.sh | 120 -------------- .../systemd/data/etc/systemd/system/fetch-config | 178 --------------------- .../systemd/data/etc/systemd/system/ip-dns-conf | 86 ---------- .../data/etc/systemd/system/udhcpc@.service | 2 +- remote/rootfs/rootfs-stage31/data/init | 2 +- .../rootfs-stage32/data/opt/openslx/bin/dhcp++ | 13 ++ .../data/opt/openslx/bin/mountexport | 17 ++ .../rootfs-stage32/data/usr/sbin/mountexport | 17 -- server/export_target | 2 +- 11 files changed, 37 insertions(+), 436 deletions(-) delete mode 100644 remote/modules/systemd/data/etc/systemd/system/activate-swap delete mode 100644 remote/modules/systemd/data/etc/systemd/system/analyse-disk.sh delete mode 100644 remote/modules/systemd/data/etc/systemd/system/fetch-config delete mode 100644 remote/modules/systemd/data/etc/systemd/system/ip-dns-conf create mode 100644 remote/rootfs/rootfs-stage32/data/opt/openslx/bin/dhcp++ create mode 100755 remote/rootfs/rootfs-stage32/data/opt/openslx/bin/mountexport delete mode 100755 remote/rootfs/rootfs-stage32/data/usr/sbin/mountexport (limited to 'remote/modules') diff --git a/helper/fileutil.inc b/helper/fileutil.inc index d37d546e..24b50a5f 100644 --- a/helper/fileutil.inc +++ b/helper/fileutil.inc @@ -132,7 +132,8 @@ generate_initramfs() { [ "x${PS[1]}" != "x0" ] && perror "cpio create failed." [ "x${PS[2]}" != "x0" ] && perror "gzip to '$3' failed." cd - &> /dev/null - pinfo "Created initramfs of $1 at $3. Size: $(du -bsh "$3" | awk 'END {print $1}')" + pinfo "Created initramfs of $1 at $3" + pinfo "Size: $(du -bsh "$3" | awk 'END {print $1}')" } # generates squashfs of directory @@ -143,5 +144,6 @@ generate_squashfs() { [ -d "$1" ] || perror "$1 is not a directory." mksquashfs "$1" "$2" -comp xz -b 1M -no-recovery >&6 \ || perror "mksquashfs failed ($?)." - pinfo "Created squashfs of $1 at $2. Size: $(du -bsh "$2" | awk 'END {print $1}')" + pinfo "Created squashfs of $1 at $2" + pinfo "Size: $(du -bsh "$2" | awk 'END {print $1}')" } diff --git a/remote/modules/systemd/data/etc/systemd/system/activate-swap b/remote/modules/systemd/data/etc/systemd/system/activate-swap deleted file mode 100644 index 10cb42e9..00000000 --- a/remote/modules/systemd/data/etc/systemd/system/activate-swap +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# Copyright (c) 2013 - 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 feedback to feedback@openslx.org -# -# General information about OpenSLX can be found under http://openslx.org -# -# Initialize swap for OpenSLX linux stateless clients, both for swap on local -# disk partitions as well as compressed ramzswap or similar - -############################################################################# - -# depends on mount-disk.sh -# depends on availability of the appropriate kernel module/functionality - -# try to enable compressed RAM SWAP / ZRAM -if modprobe ${MODPRV} ramzswap 2>/dev/null && [ -f /usr/bin/rzscontrol ] ; then - rzscontrol /dev/ramzswap0 --init - swapon /dev/ramzswap0 2>/dev/null - #hdswap="# disk swap disabled because of enabled compressed ramswap" -elif modprobe ${MODPRV} zram 2>/dev/null ; then - # assign a quarter of total mem to zram - echo $(( $(free -k | awk '/^Mem:/ { print $2 }') * 256 )) > /sys/block/zram0/disksize - mkswap /dev/zram0 2>/dev/null - swapon /dev/zram0 2>/dev/null -fi diff --git a/remote/modules/systemd/data/etc/systemd/system/analyse-disk.sh b/remote/modules/systemd/data/etc/systemd/system/analyse-disk.sh deleted file mode 100644 index 0c152dbf..00000000 --- a/remote/modules/systemd/data/etc/systemd/system/analyse-disk.sh +++ /dev/null @@ -1,120 +0,0 @@ -#!/bin/sh -# Copyright (c) 2013 - 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 feedback to feedback@openslx.org -# -# General information about OpenSLX can be found under http://openslx.org -# -# Local hard disk autoconfiguration script for OpenSLX linux stateless -# clients, detecting swap and special partitions - -############################################################################# - -# Todo: -# * This script should be run just once per boot! -# * The activation of swap could/should be handled in separate script!? -# * The mounting of /tmp could/should be done separately? -# * Same for other partitions, use information of /etc/fstab for that? -# * Should we just install xfs in the source system and boil down everything -# onto that? - -# General formatter for the /tmp partition on a local harddisk -diskfm () { -local target=$1 -local mntpnt=$2 -local fs -local path -for fs in xfs reiserfs ext2 ; do - if strinfile "$fs" /proc/filesystems || modprobe ${MODPRV} $fs ; then - unset $found - for path in /sbin /bin /usr/sbin /usr/bin ; do - if test -x /mnt/$path/mkfs.$fs ; then - found=yes - case mkfs.$fs in - mkfs.xfs) - fopt="-f" - mopt="-o noexec" - ;; - mkfs.ext2) - fopt="-Fq" - mopt="-o nocheck,noexec" - ;; - mkfs.reiserfs) - fopt="-f" - mopt="-o noexec" - ;; - esac - mkfs.$fs $fopt $target >/dev/null 2>&1 #|| error - if [ -z $mntpnt ] ; then - umount /tmp 2>/dev/null - if mount -t $fs -n $mopt $target /tmp 2>/dev/null; then - return 0 - else - mount -n -t tmpfs none /tmp - fi - else - mkdir -p $mntpnt - mount -t $fs -n -o loop $target $mntpnt 2>/dev/null - return 0 - fi - fi - done - [ -z $found ] && continue - else break - fi -done -} - -# Check for local harddisks and appropriate partitions -fdisk -l /dev/$hd|sed -n "/^\/dev\//p" >/etc/disk.partition - -# Check for standard swap partitions and make them available to the system -for hdpartnr in $(cat /etc/disk.partition | \ - sed -n -e "/ 82 /p"|sed -e "s/[[:space:]].*//") ; do - echo -e "$hdpartnr\tswap\t\tswap\t\tdefaults\t 0 0" >>/etc/fstab -done - -# We use special non assigned partition type (id44) for harddisk scratch -# space, thus no normal filesystem will be incidentally deleted or -# corrupted -for hdpartnr in $(cat /etc/disk.partition | \ - sed -n -e "/ 44 /p"|sed -e "s/[[:space:]].*//") ; do - # check for supported filesystem and formatter - ( if diskfm $hdpartnr ; then - echo "$hdpartnr is mounted to /mnt/tmp at $(sysup)" >/tmp/tmpready - echo -e "$hdpartnr\t/tmp\t\tauto\t\tdefaults\t 0 0" >>/etc/fstab - else - echo "formatting failed for some reason ($(sysup))" >/tmp/tmpready - fi ) & - break -done - -# Put detected linux partitions (83) into /etc/fstab with "noauto", special -# partition 45 (persistent scratch) to /var/scratch and 46 to /var/openslx -for partid in 83 45 46 ; do - for hdpartnr in $(cat /etc/disk.partition | \ - sed -n -e "/ ${partid} /p"|sed -e "s/[[:space:]].*//") ; do - mkdir -p /media/${hdpartnr#/dev/*} 2>/dev/null - if [ ${partid} -eq 83 ] ; then - echo -e "$hdpartnr\t/media/${hdpartnr#/dev/*}\tauto\t\tnoauto,\ -noexec\t 0 0" >>/tmp/fstab - elif [ ${partid} -eq 45 ] ; then - #mount -t auto ${hdpartnr} /media/${hdpartnr#/dev/*} - #ln -sf /media/${hdpartnr#/dev/*} /var/scratch - echo -e "${hdpartnr}\t/media/${hdpartnr#/dev/*}\tauto\t\tnoauto\ -\t\t 0 0" >>/tmp/fstab - elif [ ${partid} -eq 46 ] ; then - # Mount a home directory to (/mnt)/var/home - #mount -t auto ${hdpartnr} /mnt/media/${hdpartnr#/dev/*} \n\ - #test -d /mnt/media/${hdpartnr#/dev/*}/home && \ - # ln -sf /media/${hdpartnr#/dev/*} /var/home - echo -e "${hdpartnr}\t/media/${hdpartnr#/dev/*}\tauto\t\tnoauto\ -\t\t 0 0" >>/tmp/fstab - fi - done -done - diff --git a/remote/modules/systemd/data/etc/systemd/system/fetch-config b/remote/modules/systemd/data/etc/systemd/system/fetch-config deleted file mode 100644 index 556f0f41..00000000 --- a/remote/modules/systemd/data/etc/systemd/system/fetch-config +++ /dev/null @@ -1,178 +0,0 @@ -#!/bin/sh -# Copyright (c) 2013 - 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 feedback to feedback@openslx.org -# -# General information about OpenSLX can be found under http://openslx.org -# -# Fetch configuration from server ... - -############################################################################# - -# Depends on configured networking, provides configuration - - -# Todo: rewrite for next-gen system - principle would be the same ... - -# Function for retrieving configuration file (machine-setup) via tftp from a -# predefined server or given source (file=tftp-server:/path via kernel -# command line) -unpack () { -# $1 is config file name to get, $2 IP of server to get file from -local dst=$1 -if [ -s $dst ] ; then - # fixme: handle different types of packaging (gzip/bzip2)?? - if ! tar -xpzf $dst 2> /tmp/ConfTGZ-tar-error ; then - cat /tmp/ConfTGZ-tar-error - error "$unpack_ConfTGZ" nonfatal - rm /tmp/ConfTGZ-tar-error - fi - [ "$DEBUGLEVEL" -le 2 -o "$DEBUGLEVEL" -eq 8 ] && rm $dst - return 0 -else - return 1 -fi -} - -# tftp wrapper -# usage tftp_get [count] -# count is optional - default is 3 - use -1 for indefinit -tftp_get () { - local file="$1" - local file_server="$2" - local download_successful=0 - local countdown="$3" - - if [ -z "$1" -o -z "$2" ]; then - [ $DEBUGLEVEL -ge 1 ] && \ - echo "[tftp_get] Usage: tftp_get [count]" - return 1; - fi - - [ "$countdown" = "" ] && countdown=3 - - until [ $download_successful -eq 1 ] - do - if [ "$countdown" = "0" ]; then - [ $DEBUGLEVEL -ge 1 ] && \ - echo "[tftp_get] download of \"$file\" from \"$file_server\" ... failed" - return 0; - fi - tftp -g -r "/$file" -l /tmp/$(basename $file) $file_server - [ -s /tmp/$(basename $file) ] && download_successful=1 - countdown=$(expr $countdown - 1) - usleep 200000 - done - [ $DEBUGLEVEL -ge 1 ] && \ - echo "[tftp_get] download of \"$file\" from \"$file_server\" ... successful" - return 0; -} - - -# wget wrapper -# usage wget_get [count] -# count is optional - default is 3 - use -1 for indefinit -wget_get () { - local file="$1" - local file_server="$2" - local download_successful=0 - local countdown="$3" - - if [ -z "$1" -o -z "$2" ]; then - [ $DEBUGLEVEL -ge 1 ] && \ - echo "[wget_get] Usage: wget_get [count]" - return 1; - fi - - [ "$countdown" = "" ] && countdown=3 - - until [ $download_successful -eq 1 ] - do - if [ "$countdown" = "0" ]; then - [ $DEBUGLEVEL -ge 1 ] && \ - echo "[wget_get] download of \"$file\" from \"$file_server\" ... failed" - return 0; - fi - wget -q $file_server$file -O /tmp/$(basename $file) - [ -s /tmp/$(basename $file) ] && download_successful=1 - countdown=$(expr $countdown - 1) - usleep 200000 - done - [ $DEBUGLEVEL -ge 1 ] && \ - echo "[wget_get] download of \"$file\" from \"$file_server\" ... successful" - return 0; -} - - -fileget () { -# normally tftp would be used, alternatively use wget for ftp or http -# if local device file is specified - mount and unmount after copying -local cfgfile -[ "x$fileprot" = "x" ] && fileprot=tftp -if [ "x$filepath" != "x" ] ; then - cfgfile=${filepath} - [ "x$fileserv" = "x" ] && fileserv=$(checkip ${serverip}) - # wait for dns if "fileserv" is a name and not lbd device - [ "$fileprot" != "lbd" ] && \ - echo ${fileserv} | grep -qi [a-z] - [ $DEBUGLEVEL -ge 1 ] && echo "fileget - fileprot:$fileprot, filepath:\ -$filepath, fileserv:$fileserv" >>$LOGFILE - case "$fileprot" in - ftp|http) - wget_get $cfgfile $fileprot://$fileserv \ - && { unpack /tmp/$(basename $cfgfile) && break; } 2>>$LOGFILE - ;; - lbd) - local ldev=$fileserv - echo "Waiting for configuration file ${cfgfile} ...." - [ $DEBUGLEVEL -ge 1 ] && echo "fileget - fileprot:$fileprot, filepath:\ -$filepath, fileserv:$fileserv" >>$LOGFILE - waitfor /mnt/${cfgfile} 10000 - if [ -f /mnt/${cfgfile} ]; then - unpack /mnt/$cfgfile - else - error "$init_errlfg" - fi - ;; - *) - tftp_get $cfgfile $fileserv \ - && unpack /tmp/$(basename $cfgfile) 2>>$LOGFILE - ;; - esac -else - # predefined value for OpenSLX environment; it is expected that this - # directory is just below the tftpboot (path to which the daemon is - # restricted to) - filepath="client-config" - [ "x$fileserv" = "x" ] && fileserv=$(checkip ${serverip}) - [ $DEBUGLEVEL -ge 1 ] && echo "fileget - fileprot:$fileprot, filepath:\ -$filepath, fileserv:$fileserv" >>$LOGFILE - # try to get configuration files successively; start with distro client - # and try last distro default ... - mac=$(echo $macaddr|sed "s/:/-/g") - for cfgfile in ${filepath}/${SYSTEM_NAME}/01-$mac.tgz \ - ${filepath}/${SYSTEM_NAME}/default.tgz ; do - case "$fileprot" in - ftp|http) - wget $fileprot://$fileserv/$cfgfile -O /tmp/$(basename $cfgfile) \ - 2>>$LOGFILE && { unpack /tmp/$(basename $cfgfile) && break; } - ;; - tftp) - tftp_get $cfgfile $fileserv \ - 2>>$LOGFILE && { unpack /tmp/$(basename $cfgfile) && break; } - ;; - esac - done - echo -e "\n## Configuration via fileget from ${fileprot}://${fileserv}/\ -${cfgfile}\n# Hierarchy is distro client and as last distro/default" \ - >>/tmp/confviafile -fi -cat /initramfs/machine-setup >>/tmp/confviafile 2>/dev/null || \ - error "$nomachsetup" -echo "fileget via $fileprot from $fileserv/$cfgfile finished" >/tmp/file-done -[ $DEBUGLEVEL -ge 1 ] && echo "fileget from $cfgfile finished" >>$LOGFILE -} diff --git a/remote/modules/systemd/data/etc/systemd/system/ip-dns-conf b/remote/modules/systemd/data/etc/systemd/system/ip-dns-conf deleted file mode 100644 index f14ecd88..00000000 --- a/remote/modules/systemd/data/etc/systemd/system/ip-dns-conf +++ /dev/null @@ -1,86 +0,0 @@ -#!/bin/sh -# Copyright (c) 2013 - 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 feedback to feedback@openslx.org -# -# General information about OpenSLX can be found under http://openslx.org -# -# Set IP and DNS configuration ... - -############################################################################# - -# Depends on running network interface, provides IP and DNS configuration - -# Dns and ip configuration, hostname of the machine --> to be merged with udhcpc.default.script!! -echo "$host_name" >/proc/sys/kernel/hostname -echo -e "# /etc/hosts - file generated by $0 during OpenSLX stage3\ -\n#\n# IP-Address Full-Qualified-Hostname Short-Hostname\n#\n\ -127.0.0.1\tlocalhost\n::1\t\tlocalhost ipv6-localhost ipv6-loopback\n\ -fe00::0\t\tipv6-localnet\nff00::0\t\tipv6-mcastprefix\nff02::1\ -\t\tipv6-allnodes\nff02::2\t\tipv6-allrouters\nff02::3\t\t\ -ipv6-allhosts\n" >/etc/hosts -if [ -n "${domain_name}" ]; then - echo -en "${clientip}\t" >>/etc/hosts - for name in ${domain_name}; do - echo -en "${host_name}.${name} " >>/etc/hosts - done - echo -e "${host_name}" >>/etc/hosts -else - echo -e "${clientip}\t${host_name}" >>/etc/hosts -fi -# set up domainname and resolving -#rm -rf /etc/resolv.conf - -out=/etc/resolv.conf -echo -e "# /etc/resolv.conf - file generated by\n#\t$0:\n\ -#\t${date}\n#options timeout:1 attempts:1 rotate" > $out - -[ "x${domain_name}" != "x" ] && echo -e "domain ${domain_name}" >> $out -[ "x${domain_search}" != "x" ] && echo -e "search ${domain_search}" >> $out -# fallback -[ "x${domain_search}" == "x" ] && [ "x${domain_name}" != "x" ] && \ - echo -e "search ${domain_name}" >> $out - -[ -n "${domain_name_servers}" ] && { - for name in ${domain_name_servers}; do - echo nameserver ${name} >> $out; - done; } - -# Create hostname file -[ -n ${host_name} ] && [ -n ${domain_name} ] && \ - echo "${host_name}.${domain_name}" > /etc/hostname - - -# Set greeting and add information on booted system -len=$(expr length ${SLXVERSION}${SYSTEM_NAME}) -if [ $len -le 28 ] ; then - vdstr="Stateless Workstation (V${SLXVERSION}/${SYSTEM_NAME})" - smax=28 -else - vdstr="V${SLXVERSION}/${SYSTEM_NAME}" - smax=52 -fi -while [ $len -le $smax ] ; do - vdstr="$vdstr " - len=$(($len + 1)) -done -len=$(expr length ${host_name}) -while [ $len -le 30 ] ; do - space="$space " - len=$(($len + 1)) -done -echo " - WELCOME TO $space \n (\l) - _____ ______ ______ __ __ _______ __ __ __ - / _ | _ | ___| | | | | ____| | | | | | - | | | | |_| | |_ | | | | |___ | | / / - | | | | ___/| _| | | ____ | | | | - | |_| | | | |___| | | | ____| | |___ / / - _____/|__| |______|__| |__| |_______|______|__| |__| - - $vdstr (c) -" >/etc/issue diff --git a/remote/modules/systemd/data/etc/systemd/system/udhcpc@.service b/remote/modules/systemd/data/etc/systemd/system/udhcpc@.service index af4c70bb..db67c6b6 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=/opt/openslx/sbin/udhcpc -O domain -O nissrv -O nisdomain -O wpad -t 8 -s /etc/udhcpc.openslx.script -i %I +ExecStart=/opt/openslx/bin/dhcp++ %I [Install] WantedBy=multi-user.target diff --git a/remote/rootfs/rootfs-stage31/data/init b/remote/rootfs/rootfs-stage31/data/init index 81b045b5..2e679dad 100755 --- a/remote/rootfs/rootfs-stage31/data/init +++ b/remote/rootfs/rootfs-stage31/data/init @@ -130,7 +130,7 @@ mkdir -p /mnt/uniontmp /mnt/tmp mount -n --move /dev/shm/uniontmp /mnt/uniontmp # create udev rule for nic we booted from -[ -e "/mnt/etc/udev/rules.d/70-net-boot-nic-name.rules" ] && echo 'SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="'$macaddr'", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"' > "/mnt/etc/udev/rules.d/70-net-boot-nic-name.rules" +echo 'SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="'$macaddr'", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"' > "/mnt/etc/udev/rules.d/70-net-boot-nic-name.rules" for mnt in proc sys run ; do umount -n $mnt diff --git a/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/dhcp++ b/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/dhcp++ new file mode 100644 index 00000000..f3d1f76a --- /dev/null +++ b/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/dhcp++ @@ -0,0 +1,13 @@ +#!/bin/bash + +export PATH=$PATH:/opt/openslx/bin:/opt/openslx/sbin:/opt/openslx/usr/bin:/opt/openslx/usr/sbin + +NET_IF=$1 +NET_IP=$(ip addr show dev ${NET_IF} | grep "inet " | awk -F " " '{print $2}' | awk -F "/" '{print $1}') + +echo "NET_IP: $NET_IP" >> /root/foo +echo "NET_IF: $NET_IF" >> /root/foo + +UDHCPC_OPTS="" +[ ! -z "$NET_IP" ] && UDHCPC_OPTS=" -r $NET_IP " +/opt/openslx/sbin/udhcpc $UDHCPC_OPTS -O domain -O nissrv -O nisdomain -O wpad -t 8 -s /etc/udhcpc.openslx.script -i $NET_IF diff --git a/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/mountexport b/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/mountexport new file mode 100755 index 00000000..cc08728e --- /dev/null +++ b/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/mountexport @@ -0,0 +1,17 @@ +#!/bin/bash + +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" +elif grep "SUSE" "/etc/issue" >/dev/null; then + EXPORT="132.230.8.113:/srv/suse" +else + echo "Could not determine System" + exit 1 +fi + +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/data/usr/sbin/mountexport b/remote/rootfs/rootfs-stage32/data/usr/sbin/mountexport deleted file mode 100755 index cc08728e..00000000 --- a/remote/rootfs/rootfs-stage32/data/usr/sbin/mountexport +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -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" -elif grep "SUSE" "/etc/issue" >/dev/null; then - EXPORT="132.230.8.113:/srv/suse" -else - echo "Could not determine System" - exit 1 -fi - -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/server/export_target b/server/export_target index 80ffd7ae..f177bbfd 100755 --- a/server/export_target +++ b/server/export_target @@ -88,7 +88,7 @@ generate_addons() { export_target() { initial_checks -#copy_kernel +copy_kernel TARGET=$1 [ -d ${SERVER_BUILD_DIR}/${TARGET} ] || perror "Given target directory does not exist: ${SERVER_BUILD_DIR}/${TARGET}" -- cgit v1.2.3-55-g7522 From 16469322a4636dbd7042b1410e132aba6edde629 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 8 May 2013 19:51:17 +0200 Subject: Add vmplayer module that extracts from bundle --- remote/modules/vmplayer/data/etc/vmware/bootstrap | 11 ++++ remote/modules/vmplayer/data/etc/vmware/config | 19 +++++++ remote/modules/vmplayer/data/etc/vmware/icu | 1 + .../modules/vmplayer/data/etc/vmware/installer.sh | 1 + remote/modules/vmplayer/data/etc/vmware/networking | 12 +++++ .../modules/vmplayer/data/etc/vmware/usbarb.rules | 4 ++ .../data/etc/vmware/vmnet1/dhcpd/dhcpd.conf | 40 +++++++++++++++ .../data/etc/vmware/vmnet1/dhcpd/dhcpd.leases | 7 +++ .../data/etc/vmware/vmnet8/dhcpd/dhcpd.conf | 43 ++++++++++++++++ .../data/etc/vmware/vmnet8/dhcpd/dhcpd.leases | 7 +++ .../vmplayer/data/etc/vmware/vmnet8/nat.mac | 1 + .../vmplayer/data/etc/vmware/vmnet8/nat/nat.conf | 60 ++++++++++++++++++++++ remote/modules/vmplayer/vmplayer.build | 38 +++++++++++--- remote/modules/vmplayer/vmplayer.conf | 4 +- remote/setup_target | 4 +- 15 files changed, 242 insertions(+), 10 deletions(-) create mode 100644 remote/modules/vmplayer/data/etc/vmware/bootstrap create mode 100644 remote/modules/vmplayer/data/etc/vmware/config create mode 120000 remote/modules/vmplayer/data/etc/vmware/icu create mode 120000 remote/modules/vmplayer/data/etc/vmware/installer.sh create mode 100644 remote/modules/vmplayer/data/etc/vmware/networking create mode 100644 remote/modules/vmplayer/data/etc/vmware/usbarb.rules create mode 100644 remote/modules/vmplayer/data/etc/vmware/vmnet1/dhcpd/dhcpd.conf create mode 100644 remote/modules/vmplayer/data/etc/vmware/vmnet1/dhcpd/dhcpd.leases create mode 100644 remote/modules/vmplayer/data/etc/vmware/vmnet8/dhcpd/dhcpd.conf create mode 100644 remote/modules/vmplayer/data/etc/vmware/vmnet8/dhcpd/dhcpd.leases create mode 100644 remote/modules/vmplayer/data/etc/vmware/vmnet8/nat.mac create mode 100644 remote/modules/vmplayer/data/etc/vmware/vmnet8/nat/nat.conf (limited to 'remote/modules') diff --git a/remote/modules/vmplayer/data/etc/vmware/bootstrap b/remote/modules/vmplayer/data/etc/vmware/bootstrap new file mode 100644 index 00000000..9417c7fe --- /dev/null +++ b/remote/modules/vmplayer/data/etc/vmware/bootstrap @@ -0,0 +1,11 @@ +PREFIX="/usr" +BINDIR="/usr/bin" +SBINDIR="/usr/sbin" +LIBDIR="/usr/lib" +DATADIR="/usr/share" +SYSCONFDIR="/etc" +DOCDIR="/usr/share/doc" +MANDIR="/usr/share/man" +INCLUDEDIR="/usr/include" +INITDIR="/etc/init.d" +INITSCRIPTDIR="/etc/init.d" diff --git a/remote/modules/vmplayer/data/etc/vmware/config b/remote/modules/vmplayer/data/etc/vmware/config new file mode 100644 index 00000000..5a62a179 --- /dev/null +++ b/remote/modules/vmplayer/data/etc/vmware/config @@ -0,0 +1,19 @@ +.encoding = "UTF-8" +NETWORKING = "yes" +VMBLOCK_CONFED = "no" +gksu.rootMethod = "su" +libdir = "/usr/lib/vmware" +VMCI_CONFED = "no" +VSOCK_CONFED = "no" +initscriptdir = "/etc/init.d" +authd.fullpath = "/usr/sbin/vmware-authd" +bindir = "/usr/bin" +installerDefaults.componentDownloadEnabled = "yes" +installerDefaults.autoSoftwareUpdateEnabled.epoch = "4837526839" +vix.config.version = "1" +player.product.version = "5.0.2" +installerDefaults.dataCollectionEnabled.epoch = "9979927113" +installerDefaults.dataCollectionEnabled = "no" +installerDefaults.transferVersion = "1" +installerDefaults.autoSoftwareUpdateEnabled = "no" +product.buildNumber = "1031769" diff --git a/remote/modules/vmplayer/data/etc/vmware/icu b/remote/modules/vmplayer/data/etc/vmware/icu new file mode 120000 index 00000000..d1ebea7d --- /dev/null +++ b/remote/modules/vmplayer/data/etc/vmware/icu @@ -0,0 +1 @@ +/usr/lib/vmware/icu \ No newline at end of file diff --git a/remote/modules/vmplayer/data/etc/vmware/installer.sh b/remote/modules/vmplayer/data/etc/vmware/installer.sh new file mode 120000 index 00000000..f178b8cc --- /dev/null +++ b/remote/modules/vmplayer/data/etc/vmware/installer.sh @@ -0,0 +1 @@ +/usr/lib/vmware-installer/2.1.0/vmware-uninstall-downgrade \ No newline at end of file diff --git a/remote/modules/vmplayer/data/etc/vmware/networking b/remote/modules/vmplayer/data/etc/vmware/networking new file mode 100644 index 00000000..d2ea7361 --- /dev/null +++ b/remote/modules/vmplayer/data/etc/vmware/networking @@ -0,0 +1,12 @@ +VERSION=1,0 +answer VNET_1_DHCP yes +answer VNET_1_DHCP_CFG_HASH ABD785E9C7BA236946CF10ED6B15A580E522B13D +answer VNET_1_HOSTONLY_NETMASK 255.255.255.0 +answer VNET_1_HOSTONLY_SUBNET 172.16.110.0 +answer VNET_1_VIRTUAL_ADAPTER yes +answer VNET_8_DHCP yes +answer VNET_8_DHCP_CFG_HASH 5E30544D23705A65173565BC8D6C51008A0F9AF2 +answer VNET_8_HOSTONLY_NETMASK 255.255.255.0 +answer VNET_8_HOSTONLY_SUBNET 192.168.167.0 +answer VNET_8_NAT yes +answer VNET_8_VIRTUAL_ADAPTER yes diff --git a/remote/modules/vmplayer/data/etc/vmware/usbarb.rules b/remote/modules/vmplayer/data/etc/vmware/usbarb.rules new file mode 100644 index 00000000..c3198bb4 --- /dev/null +++ b/remote/modules/vmplayer/data/etc/vmware/usbarb.rules @@ -0,0 +1,4 @@ +{ + "version": 1, + "rules": [] +} \ No newline at end of file diff --git a/remote/modules/vmplayer/data/etc/vmware/vmnet1/dhcpd/dhcpd.conf b/remote/modules/vmplayer/data/etc/vmware/vmnet1/dhcpd/dhcpd.conf new file mode 100644 index 00000000..6aeb3f1e --- /dev/null +++ b/remote/modules/vmplayer/data/etc/vmware/vmnet1/dhcpd/dhcpd.conf @@ -0,0 +1,40 @@ +# Configuration file for ISC 2.0 vmnet-dhcpd operating on vmnet1. +# +# This file was automatically generated by the VMware configuration program. +# See Instructions below if you want to modify it. +# +# We set domain-name-servers to make some DHCP clients happy +# (dhclient as configured in SuSE, TurboLinux, etc.). +# We also supply a domain name to make pump (Red Hat 6.x) happy. +# + + +###### VMNET DHCP Configuration. Start of "DO NOT MODIFY SECTION" ##### +# Modification Instructions: This section of the configuration file contains +# information generated by the configuration program. Do not modify this +# section. +# You are free to modify everything else. Also, this section must start +# on a new line +# This file will get backed up with a different name in the same directory +# if this section is edited and you try to configure DHCP again. + +# Written at: 05/06/2013 17:43:41 +allow unknown-clients; +default-lease-time 1800; # default is 30 minutes +max-lease-time 7200; # default is 2 hours + +subnet 172.16.110.0 netmask 255.255.255.0 { + range 172.16.110.128 172.16.110.254; + option broadcast-address 172.16.110.255; + option domain-name-servers 172.16.110.1; + option domain-name localdomain; + default-lease-time 1800; # default is 30 minutes + max-lease-time 7200; # default is 2 hours +} +host vmnet1 { + hardware ethernet 00:50:56:C0:00:01; + fixed-address 172.16.110.1; + option domain-name-servers 0.0.0.0; + option domain-name ""; +} +####### VMNET DHCP Configuration. End of "DO NOT MODIFY SECTION" ####### diff --git a/remote/modules/vmplayer/data/etc/vmware/vmnet1/dhcpd/dhcpd.leases b/remote/modules/vmplayer/data/etc/vmware/vmnet1/dhcpd/dhcpd.leases new file mode 100644 index 00000000..512c0de2 --- /dev/null +++ b/remote/modules/vmplayer/data/etc/vmware/vmnet1/dhcpd/dhcpd.leases @@ -0,0 +1,7 @@ +# All times in this file are in UTC (GMT), not your local timezone. This is +# not a bug, so please don't ask about it. There is no portable way to +# store leases in the local timezone, so please don't request this as a +# feature. If this is inconvenient or confusing to you, we sincerely +# apologize. Seriously, though - don't ask. +# The format of this file is documented in the dhcpd.leases(5) manual page. + diff --git a/remote/modules/vmplayer/data/etc/vmware/vmnet8/dhcpd/dhcpd.conf b/remote/modules/vmplayer/data/etc/vmware/vmnet8/dhcpd/dhcpd.conf new file mode 100644 index 00000000..9f27b6f0 --- /dev/null +++ b/remote/modules/vmplayer/data/etc/vmware/vmnet8/dhcpd/dhcpd.conf @@ -0,0 +1,43 @@ +# Configuration file for ISC 2.0 vmnet-dhcpd operating on vmnet8. +# +# This file was automatically generated by the VMware configuration program. +# See Instructions below if you want to modify it. +# +# We set domain-name-servers to make some DHCP clients happy +# (dhclient as configured in SuSE, TurboLinux, etc.). +# We also supply a domain name to make pump (Red Hat 6.x) happy. +# + + +###### VMNET DHCP Configuration. Start of "DO NOT MODIFY SECTION" ##### +# Modification Instructions: This section of the configuration file contains +# information generated by the configuration program. Do not modify this +# section. +# You are free to modify everything else. Also, this section must start +# on a new line +# This file will get backed up with a different name in the same directory +# if this section is edited and you try to configure DHCP again. + +# Written at: 05/06/2013 17:43:41 +allow unknown-clients; +default-lease-time 1800; # default is 30 minutes +max-lease-time 7200; # default is 2 hours + +subnet 192.168.167.0 netmask 255.255.255.0 { + range 192.168.167.128 192.168.167.254; + option broadcast-address 192.168.167.255; + option domain-name-servers 192.168.167.2; + option domain-name localdomain; + default-lease-time 1800; # default is 30 minutes + max-lease-time 7200; # default is 2 hours + option netbios-name-servers 192.168.167.2; + option routers 192.168.167.2; +} +host vmnet8 { + hardware ethernet 00:50:56:C0:00:08; + fixed-address 192.168.167.1; + option domain-name-servers 0.0.0.0; + option domain-name ""; + option routers 0.0.0.0; +} +####### VMNET DHCP Configuration. End of "DO NOT MODIFY SECTION" ####### diff --git a/remote/modules/vmplayer/data/etc/vmware/vmnet8/dhcpd/dhcpd.leases b/remote/modules/vmplayer/data/etc/vmware/vmnet8/dhcpd/dhcpd.leases new file mode 100644 index 00000000..512c0de2 --- /dev/null +++ b/remote/modules/vmplayer/data/etc/vmware/vmnet8/dhcpd/dhcpd.leases @@ -0,0 +1,7 @@ +# All times in this file are in UTC (GMT), not your local timezone. This is +# not a bug, so please don't ask about it. There is no portable way to +# store leases in the local timezone, so please don't request this as a +# feature. If this is inconvenient or confusing to you, we sincerely +# apologize. Seriously, though - don't ask. +# The format of this file is documented in the dhcpd.leases(5) manual page. + diff --git a/remote/modules/vmplayer/data/etc/vmware/vmnet8/nat.mac b/remote/modules/vmplayer/data/etc/vmware/vmnet8/nat.mac new file mode 100644 index 00000000..337d094a --- /dev/null +++ b/remote/modules/vmplayer/data/etc/vmware/vmnet8/nat.mac @@ -0,0 +1 @@ +00:50:56:E9:43:27 diff --git a/remote/modules/vmplayer/data/etc/vmware/vmnet8/nat/nat.conf b/remote/modules/vmplayer/data/etc/vmware/vmnet8/nat/nat.conf new file mode 100644 index 00000000..791f9a7e --- /dev/null +++ b/remote/modules/vmplayer/data/etc/vmware/vmnet8/nat/nat.conf @@ -0,0 +1,60 @@ +# VMware NAT configuration file + +[host] + +# NAT gateway address +ip = 192.168.167.2 +netmask = 255.255.255.0 + +# VMnet device if not specified on command line +device = /dev/vmnet8 + +# Allow PORT/EPRT FTP commands (they need incoming TCP stream ...) +activeFTP = 1 + +# Allows the source to have any OUI. Turn this on if you change the OUI +# in the MAC address of your virtual machines. +allowAnyOUI = 1 + +# Controls if (TCP) connections should be reset when the adapter they are +# bound to goes down +resetConnectionOnLinkDown = 1 + +# Controls if (TCP) connection should be reset when guest packet's destination +# is NAT's IP address +resetConnectionOnDestLocalHost = 1 + +[tcp] + +# Value of timeout in TCP TIME_WAIT state, in seconds +timeWaitTimeout = 30 + +[udp] + +# Timeout in seconds. Dynamically-created UDP mappings will purged if +# idle for this duration of time 0 = no timeout, default = 60; real +# value might be up to 100% longer +timeout = 60 + +[netbios] +# Timeout for NBNS queries. +nbnsTimeout = 2 + +# Number of retries for each NBNS query. +nbnsRetries = 3 + +# Timeout for NBDS queries. +nbdsTimeout = 3 + +[incomingtcp] + +# Use these with care - anyone can enter into your VM through these... +# The format and example are as follows: +# = : +#8080 = 172.16.3.128:80 + +[incomingudp] + +# UDP port forwarding example +#6000 = 172.16.3.0:6001 + diff --git a/remote/modules/vmplayer/vmplayer.build b/remote/modules/vmplayer/vmplayer.build index f2400380..eb6fc8e5 100644 --- a/remote/modules/vmplayer/vmplayer.build +++ b/remote/modules/vmplayer/vmplayer.build @@ -1,22 +1,48 @@ fetch_source() { - : + ARCH=$(uname -m) + [ "$ARCH" = "i686" ] && ARCH=i386 + local BUNDLE="$(find /mnt/store/vmware -type f -name "VMware-Player*.${ARCH}.bundle" | head -1)" + [ -z "$BUNDLE" ] && perror "Could not find vmplayer at /mnt/store for ARCH = $ARCH" + [ -e "./src" ] && { rm -r ./src || perror "Could not delete old src dir."; } + pinfo "Extracting bundle" + $BUNDLE -x ./src/ || perror "Extracting the vmplayer bundle failed." + pinfo "done" } build() { - mkdir -p "$MODULE_BUILD_DIR/lib/modules/vmware" - mkdir -p "$MODULE_BUILD_DIR/bin" - cp "/usr/lib/vmware/bin/vmplayer" "$MODULE_BUILD_DIR/bin/vmplayer-bin" || perror "Could not copy vmplayer binary from /usr/lib/vmware/bin/vmplayer to build dir." - cd "/usr/lib/vmware/modules/source" || perror "vmplayer modules source not found. install vmplayer." + [ ! -d "./src/vmware-player" ] && perror "Extracted vmplayer bundle not found in ./src - please clean vmplayer module." + local TARGET="$MODULE_BUILD_DIR/usr/lib/vmware/" + mkdir -p "$TARGET"{lib,share,bin} + pinfo "Copying data to build dir" + cp -r ./src/vmware-installer/lib/lib* "$TARGET" || perror "Could not copy libs from vmware-installer" + cp -r ./src/vmware-network-editor/lib "$MODULE_BUILD_DIR/usr/" || perror "Could not copy libs from vmware-network-config" + cp -r ./src/vmware-player/lib/share "$TARGET" || perror "Could not copy lib/share from vmware-player" + cp -r ./src/vmware-player/share "$MODULE_BUILD_DIR/usr/" || perror "C0oudld not copy share from vmware-player" + cp -r ./src/vmware-player-app/etc "$MODULE_BUILD_DIR/" || perror "Could not copy bin and etc from vmware-player-app." + cp -r ./src/vmware-player-app/lib/* "$TARGET" || perror "Could not copy lib subtree from vmware-player-app." + cp -r ./src/vmware-player-app/{bin,share} "$MODULE_BUILD_DIR/usr/" || perror "could not copy share from vmware-player-app." + cp -r ./src/vmware-usbarbitrator/bin "$MODULE_BUILD_DIR/usr/" || perror "Could not copy bin from vmware-usbarbitrator." + cp -r ./src/vmware-vmx/{bin,etc,sbin} "$MODULE_BUILD_DIR/usr/" || perror "could not copy bin,etc,sbin to usr for vmare-vmx." + cp -r ./src/vmware-vmx/lib/{bin,icu,lib,libconf,scripts} "$TARGET" || perror "Could not copy many things from vmware-vmx." + ln -s /usr/lib/vmware/bin/appLoader "$TARGET/bin/vmplayer" || perror "Could not link vmplayer to appLoader." + chmod +x "$TARGET"/bin/* + chmod +x "$MODULE_BUILD_DIR"/bin/* + chmod +x "$MODULE_BUILD_DIR"/sbin/* + # Compile kernel modules + return 0 # TODO: Fix kompalieren + pinfo "Compiling required kernel modules." + cd "./src/vmware-vmx/lib/modules/source" || perror "vmplayer modules source not found." local tarball for tarball in *.tar; do pinfo "Building $tarball...." tar xf "$tarball" || perror "Could not untar $tarball" cd "${tarball/.tar}-only" || perror "Could not cd to extracted $tarball (tried ${tarball/.tar}-only)" - make LINUXINCLUDE="$MODULE_DIR/../kernel/ksrc/usr/include" || perror "Could not build kernel module $tarball" + make LINUXINCLUDE="${TARGET_DIR}/kernel/build/headers/include" || perror "Could not build kernel module $tarball" cp "${tarball/.tar}.ko" "$MODULE_BUILD_DIR/lib/modules/vmware/" || perror "Could not copy ${tarball/.tar}.ko to $MODULE_BUILD_DIR/lib/modules/vmware/" cd - done cd - + tarcopy "/usr/lib/gconv $(which gconftool-2)" "$MODULE_BUILD_DIR" } post_copy() { diff --git a/remote/modules/vmplayer/vmplayer.conf b/remote/modules/vmplayer/vmplayer.conf index b7582397..65fda83d 100644 --- a/remote/modules/vmplayer/vmplayer.conf +++ b/remote/modules/vmplayer/vmplayer.conf @@ -1,3 +1,3 @@ -REQUIRED_BINARIES="vmplayer-bin" +REQUIRED_BINARIES="" REQUIRED_SYSTEM_FILES="" -REQUIRED_DIRECTORIES="/lib" +REQUIRED_DIRECTORIES="/bin /etc /lib /usr" diff --git a/remote/setup_target b/remote/setup_target index 924450fd..f5e5f9e7 100755 --- a/remote/setup_target +++ b/remote/setup_target @@ -213,11 +213,11 @@ process_module() { install_dependencies pinfo "## Fetching source" [ -e "${MODULE_DIR}/.fetched_source" ] || { fetch_source && touch "${MODULE_DIR}/.fetched_source"; } - if [ -e "${MODULE_DIR}/.built" -a -d "${MODULE_DIR}/build" ]; then + if [ -e "${MODULE_DIR}/.built" -a -d "${MODULE_BUILD_DIR}" ]; then pinfo "# built-flag is set, skipping build..." else pinfo "## Building" - mkdir -p "${MODULE_DIR}/build" || perror "Could not create build dir" + mkdir -p "${MODULE_BUILD_DIR}" || perror "Could not create build dir" build # calls perror if something fails, no need to do that here touch "${MODULE_DIR}/.built" || pwarning "Error setting built-flag" fi -- cgit v1.2.3-55-g7522 From 696285e8a8e3fc2e0b98791fa295ece6d8d0c967 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 8 May 2013 20:52:08 +0200 Subject: Add autofs ko to stage3.2 Fix nfs-mount.service to use proper path --- remote/modules/systemd/data/etc/systemd/system/nfs-mount.service | 2 +- remote/rootfs/rootfs-stage32/rootfs-stage32.conf | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'remote/modules') diff --git a/remote/modules/systemd/data/etc/systemd/system/nfs-mount.service b/remote/modules/systemd/data/etc/systemd/system/nfs-mount.service index 408bc053..a2f9dc54 100644 --- a/remote/modules/systemd/data/etc/systemd/system/nfs-mount.service +++ b/remote/modules/systemd/data/etc/systemd/system/nfs-mount.service @@ -4,4 +4,4 @@ Description=Mount NFS Share [TEST] [Service] Type=oneshot RemainAfterExit=yes -ExecStart=/usr/sbin/mountexport +ExecStart=/opt/openslx/bin/mountexport diff --git a/remote/rootfs/rootfs-stage32/rootfs-stage32.conf b/remote/rootfs/rootfs-stage32/rootfs-stage32.conf index 90faa567..1bb26a8a 100644 --- a/remote/rootfs/rootfs-stage32/rootfs-stage32.conf +++ b/remote/rootfs/rootfs-stage32/rootfs-stage32.conf @@ -115,7 +115,8 @@ REQUIRED_KERNEL_MODULES=" kernel/drivers/cpufreq kernel/fs kernel/crypto kernel/net - kernel/sound" + kernel/sound + kernel/fs/autofs4/autofs4" REQUIRED_FIRMWARE=" 3com acenic adaptec -- cgit v1.2.3-55-g7522 From 1d967a6a9c838a48314329ce87304d954fb7a19f Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Thu, 9 May 2013 14:59:22 +0200 Subject: rsyslog fix (michi finger weg\!) --- remote/modules/rsyslogd/data/etc/rsyslog.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'remote/modules') diff --git a/remote/modules/rsyslogd/data/etc/rsyslog.conf b/remote/modules/rsyslogd/data/etc/rsyslog.conf index c002d602..e226906b 100644 --- a/remote/modules/rsyslogd/data/etc/rsyslog.conf +++ b/remote/modules/rsyslogd/data/etc/rsyslog.conf @@ -81,4 +81,4 @@ news.notice -/var/log/news/news.notice daemon.*;mail.*;\ news.err;\ *.=debug;*.=info;\ - *.=notice;*.=warn + *.=notice;*.=warn |/dev/console -- cgit v1.2.3-55-g7522 From 0e725b53326e116aac4043887b9cf7007aad6b92 Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Thu, 9 May 2013 15:01:55 +0200 Subject: daemon stuff on tty11 --- remote/modules/rsyslogd/data/etc/rsyslog.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'remote/modules') diff --git a/remote/modules/rsyslogd/data/etc/rsyslog.conf b/remote/modules/rsyslogd/data/etc/rsyslog.conf index e226906b..65b4db88 100644 --- a/remote/modules/rsyslogd/data/etc/rsyslog.conf +++ b/remote/modules/rsyslogd/data/etc/rsyslog.conf @@ -81,4 +81,4 @@ news.notice -/var/log/news/news.notice daemon.*;mail.*;\ news.err;\ *.=debug;*.=info;\ - *.=notice;*.=warn |/dev/console + *.=notice;*.=warn |/dev/tty11 -- cgit v1.2.3-55-g7522 From 37d2c73e373f109d7c1ec31cc625cd2dd7235237 Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Thu, 9 May 2013 16:44:17 +0200 Subject: ldap fix for suse --- remote/modules/pam/data/etc/openldap/ldap.conf | 1 + remote/modules/pam/data/etc/pam.d/common-session | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 120000 remote/modules/pam/data/etc/openldap/ldap.conf (limited to 'remote/modules') diff --git a/remote/modules/pam/data/etc/openldap/ldap.conf b/remote/modules/pam/data/etc/openldap/ldap.conf new file mode 120000 index 00000000..c0aaf459 --- /dev/null +++ b/remote/modules/pam/data/etc/openldap/ldap.conf @@ -0,0 +1 @@ +/etc/ldap.conf \ No newline at end of file diff --git a/remote/modules/pam/data/etc/pam.d/common-session b/remote/modules/pam/data/etc/pam.d/common-session index b130bb1f..25311276 100644 --- a/remote/modules/pam/data/etc/pam.d/common-session +++ b/remote/modules/pam/data/etc/pam.d/common-session @@ -28,5 +28,5 @@ session optional pam_umask.so # and here are more per-package modules (the "Additional" block) session [success=1] pam_unix.so session [success=ok] pam_ldap.so -session optional pam_ck_connector.so nox11 +session optional pam_mkhomedir.so skel=/etc/skel umask=0022 # end of pam-auth-update config -- cgit v1.2.3-55-g7522 From 0077b1d7e370e27ad0ed086b09e75f9c6d04693d Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Thu, 9 May 2013 16:58:12 +0200 Subject: add mkhomedir_helper to have temp home directory for ldap users --- remote/modules/pam/pam.conf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'remote/modules') diff --git a/remote/modules/pam/pam.conf b/remote/modules/pam/pam.conf index 4f353ade..0afd3ec3 100644 --- a/remote/modules/pam/pam.conf +++ b/remote/modules/pam/pam.conf @@ -12,7 +12,8 @@ REQUIRED_PACKAGES=" libpam0g REQUIRED_DIRECTORIES=" /lib /usr/lib /etc/security" -REQUIRED_SYSTEM_FILES=" /etc/pam.conf +REQUIRED_SYSTEM_FILES=" /sbin/mkhomedir_helper + /etc/pam.conf /etc/login.defs /etc/securetty /etc/default/locale -- cgit v1.2.3-55-g7522 From f83b20c902191d96701682fb53b4628fd33af5e3 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 9 May 2013 17:44:27 +0200 Subject: fix tarcopy for vmplayer fix mountexport to only run when cmdline contains "mount", not vice versa --- remote/modules/vmplayer/vmplayer.build | 2 -- remote/modules/vmplayer/vmplayer.conf | 2 +- remote/rootfs/rootfs-stage32/data/etc/udhcpc.openslx.script | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) (limited to 'remote/modules') diff --git a/remote/modules/vmplayer/vmplayer.build b/remote/modules/vmplayer/vmplayer.build index eb6fc8e5..4053e5c1 100644 --- a/remote/modules/vmplayer/vmplayer.build +++ b/remote/modules/vmplayer/vmplayer.build @@ -26,8 +26,6 @@ build() { cp -r ./src/vmware-vmx/lib/{bin,icu,lib,libconf,scripts} "$TARGET" || perror "Could not copy many things from vmware-vmx." ln -s /usr/lib/vmware/bin/appLoader "$TARGET/bin/vmplayer" || perror "Could not link vmplayer to appLoader." chmod +x "$TARGET"/bin/* - chmod +x "$MODULE_BUILD_DIR"/bin/* - chmod +x "$MODULE_BUILD_DIR"/sbin/* # Compile kernel modules return 0 # TODO: Fix kompalieren pinfo "Compiling required kernel modules." diff --git a/remote/modules/vmplayer/vmplayer.conf b/remote/modules/vmplayer/vmplayer.conf index 65fda83d..c5d92140 100644 --- a/remote/modules/vmplayer/vmplayer.conf +++ b/remote/modules/vmplayer/vmplayer.conf @@ -1,3 +1,3 @@ REQUIRED_BINARIES="" REQUIRED_SYSTEM_FILES="" -REQUIRED_DIRECTORIES="/bin /etc /lib /usr" +REQUIRED_DIRECTORIES="/etc /usr" diff --git a/remote/rootfs/rootfs-stage32/data/etc/udhcpc.openslx.script b/remote/rootfs/rootfs-stage32/data/etc/udhcpc.openslx.script index eddf3bd1..0bdd796d 100755 --- a/remote/rootfs/rootfs-stage32/data/etc/udhcpc.openslx.script +++ b/remote/rootfs/rootfs-stage32/data/etc/udhcpc.openslx.script @@ -61,7 +61,7 @@ search lp.ruf.uni-freiburg.de fi # TODO i.e. event trigger - [ "x$(grep -ci mount /proc/cmdline)" == "x0" ] && systemctl start nfs-mount.service + [ "x$(grep -ci mount /proc/cmdline)" != "x0" ] && systemctl start nfs-mount.service ;; -- cgit v1.2.3-55-g7522 From a795a9629d6a4d5f6a7b5a582c2ac3339d9b7406 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 9 May 2013 18:27:19 +0200 Subject: [vmplayer] copy gconftool and gconv dir --- remote/modules/vmplayer/vmplayer.build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'remote/modules') diff --git a/remote/modules/vmplayer/vmplayer.build b/remote/modules/vmplayer/vmplayer.build index 4053e5c1..46e4da8f 100644 --- a/remote/modules/vmplayer/vmplayer.build +++ b/remote/modules/vmplayer/vmplayer.build @@ -40,10 +40,10 @@ build() { cd - done cd - - tarcopy "/usr/lib/gconv $(which gconftool-2)" "$MODULE_BUILD_DIR" } post_copy() { - : + # FIXME: gconftool is copied without dependencies + tarcopy "$(find /usr/lib/ -name gconv -type d) $(which gconftool-2)" "$TARGET_BUILD_DIR" } -- cgit v1.2.3-55-g7522 From 39663ab183d0d466a8b4b22c3c647eccfec5f04f Mon Sep 17 00:00:00 2001 From: Michael Neves Date: Thu, 9 May 2013 18:28:24 +0200 Subject: mount vm-store virt directory --- .../vmchooser/data/etc/systemd/system/var-lib-virt.mount | 10 ++++++++++ remote/rootfs/rootfs-stage32/data/opt/openslx/bin/mountexport | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 remote/modules/vmchooser/data/etc/systemd/system/var-lib-virt.mount (limited to 'remote/modules') diff --git a/remote/modules/vmchooser/data/etc/systemd/system/var-lib-virt.mount b/remote/modules/vmchooser/data/etc/systemd/system/var-lib-virt.mount new file mode 100644 index 00000000..704606a6 --- /dev/null +++ b/remote/modules/vmchooser/data/etc/systemd/system/var-lib-virt.mount @@ -0,0 +1,10 @@ +[Unit] + Description=Mount vm-store NFS + + [Mount] + What=vm-store.public.ads.uni-freiburg.de:vmwareImages/vmware/vmware65 + Where=/var/lib/virt + Type=nfs + Options=rw,async,nolock,vers=3 + StandardOutput=syslog + StandardError=syslog diff --git a/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/mountexport b/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/mountexport index cc08728e..64d5f485 100755 --- a/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/mountexport +++ b/remote/rootfs/rootfs-stage32/data/opt/openslx/bin/mountexport @@ -2,7 +2,7 @@ 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 +if grep "Ubuntu 13.04" "/etc/issue" >/dev/null; then EXPORT="132.230.8.113:/srv/ubuntu1304" elif grep "SUSE" "/etc/issue" >/dev/null; then EXPORT="132.230.8.113:/srv/suse" -- cgit v1.2.3-55-g7522 From 759b8679d66db684bd68831d2062b1f7915ea949 Mon Sep 17 00:00:00 2001 From: Michael Neves Date: Thu, 9 May 2013 18:30:58 +0200 Subject: workaround: add symlink to old location or run-virt. TODO: adjust old openslx paths in vmchooser git --- remote/modules/vmchooser/data/var/opt/openslx/bin/run-virt.sh | 1 + 1 file changed, 1 insertion(+) create mode 120000 remote/modules/vmchooser/data/var/opt/openslx/bin/run-virt.sh (limited to 'remote/modules') diff --git a/remote/modules/vmchooser/data/var/opt/openslx/bin/run-virt.sh b/remote/modules/vmchooser/data/var/opt/openslx/bin/run-virt.sh new file mode 120000 index 00000000..ea04a6ad --- /dev/null +++ b/remote/modules/vmchooser/data/var/opt/openslx/bin/run-virt.sh @@ -0,0 +1 @@ +/opt/openslx/bin/run-virt.sh \ No newline at end of file -- cgit v1.2.3-55-g7522 From 119ba7bff3d83e4ce416e089ffd7acc464bc4123 Mon Sep 17 00:00:00 2001 From: Michael Neves Date: Thu, 9 May 2013 19:01:47 +0200 Subject: fix Failsafe --- remote/modules/xorg/data/etc/X11/Xsession | 34 ++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) (limited to 'remote/modules') diff --git a/remote/modules/xorg/data/etc/X11/Xsession b/remote/modules/xorg/data/etc/X11/Xsession index 529208cd..a9b3d43b 100644 --- a/remote/modules/xorg/data/etc/X11/Xsession +++ b/remote/modules/xorg/data/etc/X11/Xsession @@ -3,4 +3,36 @@ #Workaround to start Xsession. The original Xsession script includes error handling functionality and sources other scrips from the Xsession.d/ directory. #start selected session -exec $1 + case "$1" in + failsafe) + # Failsafe session was requested. + if [ -e /usr/bin/xterm ]; then + if [ -x /usr/bin/xterm ]; then + exec xterm -geometry +1+1 + else + # fatal error + errormsg "unable to launch failsafe X session ---" \ + "x-terminal-emulator not executable; aborting." + fi + else + # fatal error + errormsg "unable to launch failsafe X session ---" \ + "x-terminal-emulator not found; aborting." + fi + ;; + *) + # Specific program was requested. + STARTUP_FULL_PATH=$(/opt/openslx/usr/bin/which "${1%% *}" || true) + if [ -n "$STARTUP_FULL_PATH" ] && [ -e "$STARTUP_FULL_PATH" ]; then + if [ -x "$STARTUP_FULL_PATH" ]; then + exec $1 + else + message "unable to launch \"$1\" X session ---" \ + "\"$1\" not executable; falling back to default session." + fi + else + message "unable to launch \"$1\" X session ---" \ + "\"$1\" not found; falling back to default session." + fi + ;; + esac -- cgit v1.2.3-55-g7522 From b8870fb6c609a88225d1f80353a8628d746d0a0f Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 9 May 2013 19:18:52 +0200 Subject: frickel frickel --- remote/modules/vmplayer/vmplayer.conf | 2 ++ 1 file changed, 2 insertions(+) (limited to 'remote/modules') diff --git a/remote/modules/vmplayer/vmplayer.conf b/remote/modules/vmplayer/vmplayer.conf index c5d92140..7d1aa52e 100644 --- a/remote/modules/vmplayer/vmplayer.conf +++ b/remote/modules/vmplayer/vmplayer.conf @@ -1,3 +1,5 @@ +REQUIRED_DEPENDENCIES="gconf2" +REQUIRED_PACKAGES="gconf2" REQUIRED_BINARIES="" REQUIRED_SYSTEM_FILES="" REQUIRED_DIRECTORIES="/etc /usr" -- cgit v1.2.3-55-g7522 From ed29b377f18dce6a0baec2c29754e42794435453 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 9 May 2013 19:53:28 +0200 Subject: more updates to vmplayer (finally works) --- remote/modules/vmplayer/data/bin/vmplayer | 6 ++++-- remote/modules/vmplayer/vmplayer.build | 8 +++++++- 2 files changed, 11 insertions(+), 3 deletions(-) (limited to 'remote/modules') diff --git a/remote/modules/vmplayer/data/bin/vmplayer b/remote/modules/vmplayer/data/bin/vmplayer index d4cd1d65..874c3d96 100755 --- a/remote/modules/vmplayer/data/bin/vmplayer +++ b/remote/modules/vmplayer/data/bin/vmplayer @@ -1,8 +1,10 @@ #!/bin/sh for mod in /lib/modules/vmware/*.ko; do - insmod "$mod" || xmessage "Could not load kernel module $mod. vmplayer might fail." + insmod "$mod" && continue + xmessage "Could not load kernel module $mod. vmplayer might fail." done -/bin/vmplayer-bin $@ +export LIBCONF_DIR=/usr/lib/vmware/libconf +/usr/lib/vmware/bin/vmplayer $@ diff --git a/remote/modules/vmplayer/vmplayer.build b/remote/modules/vmplayer/vmplayer.build index 46e4da8f..45a77ae0 100644 --- a/remote/modules/vmplayer/vmplayer.build +++ b/remote/modules/vmplayer/vmplayer.build @@ -24,8 +24,14 @@ build() { cp -r ./src/vmware-usbarbitrator/bin "$MODULE_BUILD_DIR/usr/" || perror "Could not copy bin from vmware-usbarbitrator." cp -r ./src/vmware-vmx/{bin,etc,sbin} "$MODULE_BUILD_DIR/usr/" || perror "could not copy bin,etc,sbin to usr for vmare-vmx." cp -r ./src/vmware-vmx/lib/{bin,icu,lib,libconf,scripts} "$TARGET" || perror "Could not copy many things from vmware-vmx." - ln -s /usr/lib/vmware/bin/appLoader "$TARGET/bin/vmplayer" || perror "Could not link vmplayer to appLoader." + [ ! -L "$TARGET/bin/vmplayer" ] && { ln -s /usr/lib/vmware/bin/appLoader "$TARGET/bin/vmplayer" || perror "Could not link vmplayer to appLoader."; } chmod +x "$TARGET"/bin/* + # Extract libgconf-2 stuff + COPYLIST="list_dpkg_output" + [ -e "${COPYLIST}" ] && rm "${COPYLIST}" + + list_packet_files >> "${COPYLIST}" + tarcopy "$(cat "${COPYLIST}" | sort -u)" "${MODULE_BUILD_DIR}" # Compile kernel modules return 0 # TODO: Fix kompalieren pinfo "Compiling required kernel modules." -- cgit v1.2.3-55-g7522 From fa13b6847279e90a834996eb986b8b095c891728 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 9 May 2013 21:42:30 +0200 Subject: FIX VMPLAYER!!!!!!!!!1111elf --- remote/modules/vmplayer/vmplayer.build | 5 +++++ remote/modules/vmplayer/vmplayer.conf | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'remote/modules') diff --git a/remote/modules/vmplayer/vmplayer.build b/remote/modules/vmplayer/vmplayer.build index 45a77ae0..2bcfd896 100644 --- a/remote/modules/vmplayer/vmplayer.build +++ b/remote/modules/vmplayer/vmplayer.build @@ -26,6 +26,11 @@ build() { cp -r ./src/vmware-vmx/lib/{bin,icu,lib,libconf,scripts} "$TARGET" || perror "Could not copy many things from vmware-vmx." [ ! -L "$TARGET/bin/vmplayer" ] && { ln -s /usr/lib/vmware/bin/appLoader "$TARGET/bin/vmplayer" || perror "Could not link vmplayer to appLoader."; } chmod +x "$TARGET"/bin/* + pinfo "Patching LIBCONF_DIR" + local file="" + for file in $(grep -rl "@@LIBCONF_DIR@@" "$MODULE_BUILD_DIR"); do + sed -i 's#@@LIBCONF_DIR@@#/usr/lib/vmware/libconf#g' "$file" + done # Extract libgconf-2 stuff COPYLIST="list_dpkg_output" [ -e "${COPYLIST}" ] && rm "${COPYLIST}" diff --git a/remote/modules/vmplayer/vmplayer.conf b/remote/modules/vmplayer/vmplayer.conf index 7d1aa52e..832a0af9 100644 --- a/remote/modules/vmplayer/vmplayer.conf +++ b/remote/modules/vmplayer/vmplayer.conf @@ -1,5 +1,5 @@ -REQUIRED_DEPENDENCIES="gconf2" -REQUIRED_PACKAGES="gconf2" +REQUIRED_DEPENDENCIES="libgconf-2-4 fontconfig-config" +REQUIRED_PACKAGES="libgconf-2-4 fontconfig-config" REQUIRED_BINARIES="" REQUIRED_SYSTEM_FILES="" REQUIRED_DIRECTORIES="/etc /usr" -- cgit v1.2.3-55-g7522 From a2e717ef542d3d9b48311d65da6919e24f029635 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Fri, 10 May 2013 14:39:19 +0200 Subject: Remove unneeded packages from vmplayer.conf Add another check before using distcc for kernel --- remote/modules/kernel/kernel.build | 2 +- remote/modules/vmplayer/vmplayer.conf | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'remote/modules') diff --git a/remote/modules/kernel/kernel.build b/remote/modules/kernel/kernel.build index 1d8e41a7..b5ec8f6e 100644 --- a/remote/modules/kernel/kernel.build +++ b/remote/modules/kernel/kernel.build @@ -45,7 +45,7 @@ build() { make oldconfig || perror "make oldconfig failed" fi pinfo "Kompaliere kernel... (this will take some time)" - if gcc --version | grep "4\.7"; then + if gcc --version | grep "4\.7" && which distcc; then pinfo "USING DISTCC" make CC="distcc gcc-4.7" -j16 || perror "make failed" else diff --git a/remote/modules/vmplayer/vmplayer.conf b/remote/modules/vmplayer/vmplayer.conf index 832a0af9..df88968e 100644 --- a/remote/modules/vmplayer/vmplayer.conf +++ b/remote/modules/vmplayer/vmplayer.conf @@ -1,5 +1,5 @@ -REQUIRED_DEPENDENCIES="libgconf-2-4 fontconfig-config" -REQUIRED_PACKAGES="libgconf-2-4 fontconfig-config" +#REQUIRED_DEPENDENCIES="libgconf-2-4 fontconfig-config" +#REQUIRED_PACKAGES="libgconf-2-4 fontconfig-config" REQUIRED_BINARIES="" REQUIRED_SYSTEM_FILES="" REQUIRED_DIRECTORIES="/etc /usr" -- cgit v1.2.3-55-g7522 From ad4fde308df2a6f4d56ca2e30da85bebb5b0cd41 Mon Sep 17 00:00:00 2001 From: Christian Rößler Date: Fri, 10 May 2013 15:02:51 +0200 Subject: commit --- remote/modules/kernel/kernel.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'remote/modules') diff --git a/remote/modules/kernel/kernel.build b/remote/modules/kernel/kernel.build index 1d8e41a7..1ac0dc34 100644 --- a/remote/modules/kernel/kernel.build +++ b/remote/modules/kernel/kernel.build @@ -115,7 +115,7 @@ patch_aufs() { git checkout origin/aufs$NEEDED_BRANCH pinfo "Starting to patch..." tar c include/linux/aufs_type.h Documentation fs | tar x -C ../ksrc - cd ../ksrc + cd ../ksrc || perror "cd nicht geklappt: ../ksrc" patch -p1 < ../aufs3-standalone/aufs3-kbuild.patch || perror "aufs3-standalone/aufs3-kbuild.patch failed" patch -p1 < ../aufs3-standalone/aufs3-base.patch || perror "aufs3-standalone/aufs3-base.patch failed" patch -p1 < ../aufs3-standalone/aufs3-proc_map.patch || perror "aufs3-standalone/aufs3-proc_map.patch failed" -- cgit v1.2.3-55-g7522 From 8fb6b6d139e6af68aeb14cae5c756dfd3696b5a2 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Fri, 10 May 2013 15:19:34 +0200 Subject: Force number of jobs when making the kernel --- remote/modules/kernel/kernel.build | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'remote/modules') diff --git a/remote/modules/kernel/kernel.build b/remote/modules/kernel/kernel.build index 1d8e41a7..39bb77c5 100644 --- a/remote/modules/kernel/kernel.build +++ b/remote/modules/kernel/kernel.build @@ -49,7 +49,8 @@ build() { pinfo "USING DISTCC" make CC="distcc gcc-4.7" -j16 || perror "make failed" else - make || perror "make failed" + # explicitly state number of cores here, as MAKEFLAGS seems to be overridden + make "-j$CPU_CORES" || perror "make failed" fi # install modules to build directory -- cgit v1.2.3-55-g7522 From 9349f205cf1697d09444a0f7c36d5623950be03b Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Fri, 10 May 2013 18:58:06 +0200 Subject: schöne funktion :) --- remote/modules/vmplayer/vmplayer.build | 81 +++++++++++++++++++++++++++++----- 1 file changed, 69 insertions(+), 12 deletions(-) (limited to 'remote/modules') diff --git a/remote/modules/vmplayer/vmplayer.build b/remote/modules/vmplayer/vmplayer.build index 46e4da8f..e228292d 100644 --- a/remote/modules/vmplayer/vmplayer.build +++ b/remote/modules/vmplayer/vmplayer.build @@ -27,19 +27,10 @@ build() { ln -s /usr/lib/vmware/bin/appLoader "$TARGET/bin/vmplayer" || perror "Could not link vmplayer to appLoader." chmod +x "$TARGET"/bin/* # Compile kernel modules - return 0 # TODO: Fix kompalieren pinfo "Compiling required kernel modules." - cd "./src/vmware-vmx/lib/modules/source" || perror "vmplayer modules source not found." - local tarball - for tarball in *.tar; do - pinfo "Building $tarball...." - tar xf "$tarball" || perror "Could not untar $tarball" - cd "${tarball/.tar}-only" || perror "Could not cd to extracted $tarball (tried ${tarball/.tar}-only)" - make LINUXINCLUDE="${TARGET_DIR}/kernel/build/headers/include" || perror "Could not build kernel module $tarball" - cp "${tarball/.tar}.ko" "$MODULE_BUILD_DIR/lib/modules/vmware/" || perror "Could not copy ${tarball/.tar}.ko to $MODULE_BUILD_DIR/lib/modules/vmware/" - cd - - done - cd - + # build modules + build_modules + } post_copy() { @@ -47,3 +38,69 @@ post_copy() { tarcopy "$(find /usr/lib/ -name gconv -type d) $(which gconftool-2)" "$TARGET_BUILD_DIR" } +build_modules(){ + pdebug "PAtCHIGN" + # need to be in src + cd "$MODULE_DIR"/src || perror "Could not cd to '$MODULE_DIR/src'" + local VMWARE_MODCONFIG="$MODULE_DIR/src/vmware-vmx/bin/vmware-modconfig" + [ -e "$VMWARE_MODCONFIG" ] && chmod +x "$VMWARE_MODCONFIG" || perror "Could not find $VMWARE_MODCONFIG" + # link vmware-modconfig-console in the build dir + local MANIFEST="$MODULE_DIR/src/vmware-vmx/manifest.xml" + local BUILD_NUMBER=$(grep -o -E '[0-9]*' "$MANIFEST"|grep -o -E '[0-9]*') + local VERSION=$(grep -o -E '[0-9.]*' "$MANIFEST"|grep -o -E '[0-9.]*') + local CORE_VERSION=$(grep -o -E '[0-9.]*' "$MANIFEST"|grep -o -E '[0-9.]*') + # /etc/vmware/config gen + + sed -i.bak1 '/^ETCDIR/d;/^VMISETCDIR/d;/bootstrap/d' $VMWARE_MODCONFIG + sed -i.bak2 "s/libdir=.*/libdir=$(echo $MODULE_BUILD_DIR | escape_replace)\/usr\/lib\/vmware/g" $VMWARE_MODCONFIG + sed -i.bak3 "s/set\ -e/set\ -e\nPREFIX=\"\/usr\"\nBINDIR=\"\/usr\/bin\"\nSBINDIR=\"\/usr\/sbin\"\nLIBDIR=\"\/usr\/lib\"\nDATADIR=\"\/usr\/share\"\nSYSCONFDIR=\"\/etc\"\nDOCDIR=\"\/usr\/share\/doc\"\nMANDIR=\"\/usr\/share\/man\"\nINCLUDEDIR=\"\/usr\/include\"\nINITDIR=\"\/etc\"\nINITSCRIPTDIR=\"\/etc\/init.d\"\nVMWARE\_INSTALLER=\"\/usr\/lib\/vmware-installer\/$CORE_VERSION\"\nVERSION=\"$CORE_VERSION\"\nVMISVERSION=\"$CORE_VERSION\"\nVMISPYVERSION=\"25\"/g" "$VMWARE_MODCONFIG" + + + [ -e /etc/vmware/config ] && cp /etc/vmware/config /etc/vmware/config.mltk.bak + cat > /etc/vmware/config << EOF +.encoding = "UTF-8" +installerDefaults.componentDownloadEnabled = "yes" +installerDefaults.dataCollectionEnabled = "no" +installerDefaults.transferVersion = "1" +installerDefaults.autoSoftwareUpdateEnabled = "yes" +NETWORKING = "yes" +VMBLOCK_CONFED = "yes" +gksu.rootMethod = "sudo" +libdir = "$MODULE_BUILD_DIR/usr/lib/vmware" +VMCI_CONFED = "yes" +VSOCK_CONFED = "yes" +initscriptdir = "/etc/init.d" +authd.fullpath = "/usr/sbin/vmware-authd" +bindir = "/usr/bin" +vmware.fullpath = "/usr/bin/vmware" +vix.libdir = "/usr/lib/vmware-vix" +vix.config.version = "1" +player.product.version = "$VERSION" +product.buildNumber = "$BUILD_NUMBER" +authd.client.port = "902" +authd.proxy.nfc = "vmware-hostd:ha-nfc" +authd.soapserver = "TRUE" +product.version = "9.0.1" +workstation.product.version = "9.0.1" +product.name = "VMware Workstation" +EOF + mkdir -p $MODULE_BUILD_DIR/usr/lib/vmware/modules + ln -sf $MODULE_DIR/src/vmware-vmx/extra/modules.xml $MODULE_BUILD_DIR/usr/lib/vmware/modules/ + ln -sf $MODULE_DIR/src/vmware-vmx/lib/modules/source $MODULE_BUILD_DIR/usr/lib/vmware/modules/ + + ln -sf appLoader $MODULE_BUILD_DIR/usr/lib/vmware/bin/vmware-modconfig + ln -sf appLoader $MODULE_BUILD_DIR/usr/lib/vmware/bin/vmware-modconfig-console + + [ ! -e "$MODULES_DIR"/kernel/ksrc/include/generated/utsrelease.h ] && perror "Could not find uts release!!!" + local UTS_RELEASE=$(cat "$MODULES_DIR"/kernel/ksrc/include/generated/utsrelease.h |awk -F "\"" '{print $2}') + + pinfo "KOMPALIER" + for MOD in vsock vmblock vmmon vmnet vmci; do + pdebug "Kompaliere $MOD" + $VMWARE_MODCONFIG --console --build-mod -k $UTS_RELEASE $MOD $(which gcc) $MODULES_DIR/kernel/ksrc/include vmplayer $MOD + done + + cd - + +} + -- cgit v1.2.3-55-g7522 From 9e25259e8eec4f739639e7ee216dfb668bdb4e63 Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Fri, 10 May 2013 19:01:10 +0200 Subject: vmplayer building modules function is done :) --- remote/modules/vmplayer/vmplayer.build | 3 +++ 1 file changed, 3 insertions(+) (limited to 'remote/modules') diff --git a/remote/modules/vmplayer/vmplayer.build b/remote/modules/vmplayer/vmplayer.build index 2d44381f..2ef2ed68 100644 --- a/remote/modules/vmplayer/vmplayer.build +++ b/remote/modules/vmplayer/vmplayer.build @@ -113,5 +113,8 @@ EOF cd - + mkdir -p "$TARGET_BUILD_DIR"/lib/modules/vmware/ + cp "/lib/modules/$UTS_RELEASE/vmplayer/"* "$TARGET_BUILD_DIR"/lib/modules/vmware/ || perror "Could not cp vmware modules to target!" + } -- cgit v1.2.3-55-g7522 From 9d772dcbaab3975d2f733ad2bbd6283f3f7f0b76 Mon Sep 17 00:00:00 2001 From: Michael Neves Date: Mon, 13 May 2013 16:26:48 +0200 Subject: Ausmisten --- remote/modules/xorg/xorg.conf | 1 - 1 file changed, 1 deletion(-) (limited to 'remote/modules') diff --git a/remote/modules/xorg/xorg.conf b/remote/modules/xorg/xorg.conf index 81bc1531..a63ef508 100644 --- a/remote/modules/xorg/xorg.conf +++ b/remote/modules/xorg/xorg.conf @@ -29,7 +29,6 @@ REQUIRED_PACKAGES=" xserver-xorg @xserver-xorg-video-s3 @xserver-xorg-video-tdfx" REQUIRED_BINARIES=" Xorg - vmwarectrl gtf cvt X -- cgit v1.2.3-55-g7522 From 5650d006be363dc82e0ce60397e8fca6dd04d64d Mon Sep 17 00:00:00 2001 From: Michael Neves Date: Mon, 13 May 2013 16:34:22 +0200 Subject: vmchooser executes run-virt.sh after choice of vm, needs virtualization.conf and run-virt.include provided by vmware/virtualbox --- .../data/etc/openslx/vmchooser/virtualization.conf | 8 ++++ .../vmchooser/data/opt/openslx/bin/run-virt.sh | 51 +++++++++++----------- 2 files changed, 33 insertions(+), 26 deletions(-) create mode 100644 remote/modules/vmchooser/data/etc/openslx/vmchooser/virtualization.conf (limited to 'remote/modules') diff --git a/remote/modules/vmchooser/data/etc/openslx/vmchooser/virtualization.conf b/remote/modules/vmchooser/data/etc/openslx/vmchooser/virtualization.conf new file mode 100644 index 00000000..8887ee6f --- /dev/null +++ b/remote/modules/vmchooser/data/etc/openslx/vmchooser/virtualization.conf @@ -0,0 +1,8 @@ +totalmem=1000 +cpu_cores=1 +host_arch=i686 +vtflag=0 +hostmacaddr=00:0c:29:4e:ee:57 +hostip=132.230.4.54 +hostname=slx-client +cdrom_0=/dev/sr0 diff --git a/remote/modules/vmchooser/data/opt/openslx/bin/run-virt.sh b/remote/modules/vmchooser/data/opt/openslx/bin/run-virt.sh index b3863a2e..9314bb42 100755 --- a/remote/modules/vmchooser/data/opt/openslx/bin/run-virt.sh +++ b/remote/modules/vmchooser/data/opt/openslx/bin/run-virt.sh @@ -18,27 +18,25 @@ # fied virtualization tool. ################################################################################ -. /etc/opt/openslx/openslx.conf - ################################################################################ ### Define default dirs / get configs ################################################################################ -PLUGINCONFROOT=${OPENSLX_DEFAULT_CONFDIR}/plugins -PLUGINCONFDIR=${PLUGINCONFROOT}/vmchooser +PLUGINCONFROOT=/etc/opt/openslx/plugins +PLUGINCONFDIR=/etc/opt/openslx/plugins/vmchooser # include general configuration from vmchooser -[ -f ${PLUGINCONFROOT}/vmchooser/vmchooser.conf ] && \ - . ${PLUGINCONFROOT}/vmchooser/vmchooser.conf +[ -f /etc/openslx/vmchooser/vmchooser.conf ] && \ + . /etc/openslx/vmchooser/vmchooser.conf # load general virtualization information -[ -f ${PLUGINCONFROOT}/virtualization/virtualization.conf ] && \ - . ${PLUGINCONFROOT}/virtualization/virtualization.conf +[ -f /etc/openslx/vmchooser/virtualization.conf ] && \ + . /etc/openslx/vmchooser/virtualization.conf ################################################################################ ### Functions used throughout the script ################################################################################ # function to write to stdout and logfile -LOGFILE=${OPENSLX_DEFAULT_LOGDIR}/run-virt.${USER}.$$.log +LOGFILE=/var/log/openslx/run-virt.${USER}.$$.log writelog () { # write to stdout echo -e "$1" @@ -118,7 +116,7 @@ if ls ${xmlfile} 2>/dev/null | grep '/' >/dev/null 2>&1; then xmlpath=$(dirname ${xmlfile}) xmlfile=$(basename ${xmlfile}) else - xmlpath=${vmchooser_xmlpath} + xmlpath=${path} fi # full path xmlfile="${xmlpath}/${xmlfile%.xml}.xml" @@ -318,7 +316,7 @@ fdtest=${floppy_0:+"TRUE"} # if $fdtest not set floppy0="FALSE", else "TRUE" floppy0=${fdtest:-"FALSE"} floppy1="TRUE" -floppy1name="${PLUGINCONFDIR}/loopimg/fd.img" +floppy1name="/etc/openslx/vmchooser/loopimg/fd.img" # if $cdrom_0 from run-virt.include set then cdtest="TRUE" cdtest= cdtest=${cdrom_0:+"TRUE"} @@ -379,30 +377,31 @@ writelog "\tVM Hostname:\t\t$hostname" ### Setup the rest of the environment and run the configured vm ################################################################################ +#TODO: ALSA MIXER IN STAGE32 # 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" +#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 +cp ${xmlfile} /etc/openslx/vmchooser/fd-loop/config.xml # Get all virtual machine specific stuff from the respective include file -if [ -e ${PLUGINCONFROOT}/${xmlvirt}/run-virt.include ] ; then +if [ -e /etc/openslx/${xmlvirt}/run-virt.include ] ; then self=${xmlvirt} - . ${PLUGINCONFROOT}/${xmlvirt}/run-virt.include + . /etc/openslx/${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 + for dm in twm 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 @@ -414,9 +413,9 @@ if [ -e ${PLUGINCONFROOT}/${xmlvirt}/run-virt.include ] ; then 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 + #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." -- cgit v1.2.3-55-g7522 From 6fc7b7535e6a25eceed66a8c8e10220b2480a913 Mon Sep 17 00:00:00 2001 From: Michael Neves Date: Mon, 13 May 2013 16:37:47 +0200 Subject: vmplayer initialization scripts --- .../modules/vmplayer/data/etc/openslx/vmware/nvram | Bin 0 -> 8664 bytes .../data/etc/openslx/vmware/run-virt.include | 530 +++++++++++++++++++++ .../vmplayer/data/etc/openslx/vmware/vmware-env | 125 +++++ .../vmplayer/data/etc/openslx/vmware/vmware.conf | 8 + .../data/etc/systemd/system/vmware.service | 8 + .../modules/vmplayer/data/opt/openslx/bin/vmplayer | 21 + .../modules/vmplayer/data/opt/openslx/bin/vmware | 11 + 7 files changed, 703 insertions(+) create mode 100644 remote/modules/vmplayer/data/etc/openslx/vmware/nvram create mode 100644 remote/modules/vmplayer/data/etc/openslx/vmware/run-virt.include create mode 100755 remote/modules/vmplayer/data/etc/openslx/vmware/vmware-env create mode 100644 remote/modules/vmplayer/data/etc/openslx/vmware/vmware.conf create mode 100644 remote/modules/vmplayer/data/etc/systemd/system/vmware.service create mode 100755 remote/modules/vmplayer/data/opt/openslx/bin/vmplayer create mode 100755 remote/modules/vmplayer/data/opt/openslx/bin/vmware (limited to 'remote/modules') diff --git a/remote/modules/vmplayer/data/etc/openslx/vmware/nvram b/remote/modules/vmplayer/data/etc/openslx/vmware/nvram new file mode 100644 index 00000000..85125f1e Binary files /dev/null and b/remote/modules/vmplayer/data/etc/openslx/vmware/nvram differ diff --git a/remote/modules/vmplayer/data/etc/openslx/vmware/run-virt.include b/remote/modules/vmplayer/data/etc/openslx/vmware/run-virt.include new file mode 100644 index 00000000..65db53da --- /dev/null +++ b/remote/modules/vmplayer/data/etc/openslx/vmware/run-virt.include @@ -0,0 +1,530 @@ +# run-virt.include +# ----------------------------------------------------------------------------- +# Copyright (c) 2009..2012 - RZ Uni Freiburg +# Copyright (c) 2009..2013 - 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.include +# - component for vmware/player of the vmchooser plugin run-virt.sh +################################################################################ + +# configuration writer functions +################################################################################ + +runvmwareconfheader () +{ +echo "# This configuration file was generated by $0" >${conffile} + +# check for the ostype +case "${vmostype}" in + win31*) + mem="32" + cpu_cores="1" + sound="sb16" + shfolders="FALSE" + ;; + win95*) + mem="92" + cpu_cores="1" + shfolders="FALSE" + ;; + win98*|winme*) + mem="256" + cpu_cores="1" + shfolders="FALSE" + ;; + winxp*|windowsxp*) + shfolders="TRUE" + ;; + winvista*|windowsvista*) + shfolders="TRUE" + ;; + windows7*) + shfolders="TRUE" + ;; + windows8*) + shfolders="TRUE" + ;; + linux*|*ubuntu*|*suse*|debian*|*sci*) + vmostype="linux" + shfolders="TRUE" + ;; + macos*) + cpu_cores="1" + vmostype="other" + shfolders="FALSE" + ;; + beos*) + cpu_cores="1" + vmostype="other" + shfolders="FALSE" + ;; + *) + vmostype="other" + shfolders="FALSE" + ;; +esac +case "$vmversion" in + *) + svga_autodetect="TRUE" + numvcpus="1" + echo ".encoding = \"UTF-8\" +# version specific stuff - all versions +config.version = \"8\"" >>${conffile} + ;; +esac +case "$vmversion" in + 2.*|3.*|4.*|5.*|6.*|7.*|8.*|9.*) + [ ${shfolders} == FALSE ] || echo " +# version specific stuff - ver. 2.*|3.*|6.*|7.*|8.*|9.* +sharedFolder.option = \"alwaysEnabled\"" >>${conffile} + ;; +esac +case "$vmversion" in + 2.5|3.*|4.*|5.*|6.5|7.*|8.*|9.*) + if [ "${cpu_cores}" -ge "2" 2>/dev/null ]; then + numvcpus="2" + fi + if [ "${mem}" -ge "8000" 2>/dev/null ]; then + mem=8000 + fi + cap3d="TRUE" # helper var for loging output + echo " +# version specific stuff - ver. 2.5|3.*|6.5|7.* +ehci.present = \"TRUE\" +mks.enable3d = \"${enable3d}\"" >>${conffile} + ;; +esac +case "$vmversion" in + 3.*|4.*|7.*|8.*|9.*) + numvcpus="${cpu_cores}" + if [ "${cpu_cores}" -ge "4" 2>/dev/null ]; then + numvcpus="4" + fi + # svga_autodetect="FALSE" # if defined manual, see below + echo " +# version specific stuff - ver. 3.*|7.* +cpuid.coresPerSocket = \"${cpu_cores}\" +maxvcpus = \"4\" +monitor.virtual_mmu = \"automatic\" +monitor.virtual_exec = \"automatic\" +floppy1.clientDevice = \"FALSE\" +floppy1.readonly = \"TRUE\"" >>${conffile} + ;; +esac + +echo " +# id +virtualHW.version = \"${hwver}\" +displayName = \"${displayname}\" +guestOS = \"${vmostype}\" + +# CPU/MEM +numvcpus = \"${numvcpus}\" +memsize = \"${mem}\" +MemAllowAutoScaleDown = \"FALSE\" +MemTrimRate = \"-1\" + +# ide-disks +ide0:0.present = \"${ide}\" +ide0:0.fileName = \"${diskfile}\" +ide0:0.mode = \"independent-nonpersistent\" +ide1:0.present = \"${cdrom0}\" +ide1:0.autodetect = \"TRUE\" +ide1:0.fileName = \"auto detect\" +ide1:0.deviceType = \"cdrom-raw\" +ide1:1.present = \"${cdrom1}\" +ide1:1.autodetect = \"TRUE\" +ide1:1.fileName = \"auto detect\" +ide1:1.deviceType = \"cdrom-raw\" + +# scsi-disks +scsi0.present = \"${scsi}\" +scsi0:0.present = \"${scsi}\" +scsi0:0.fileName = \"${diskfile}\" +scsi0.virtualDev = \"${hddrv}\" +scsi0:0.mode = \"independent-nonpersistent\" + +# floppies +floppy0.present = \"${floppy0}\" +floppy0.startConnected = \"FALSE\" +floppy0.autodetect = \"TRUE\" +floppy0.fileName = \"auto detect\" +# we need floppy b: for our windows client configuration +floppy1.present = \"${floppy1}\" +floppy1.startConnected = \"TRUE\" +floppy1.fileType = \"file\" +floppy1.fileName = \"${floppy1name}\" + +# nics +ethernet0.present = \"TRUE\" +ethernet0.addressType = \"static\" +${network_virtualDev} +ethernet0.connectionType = \"${network_kind}\" +#ethernet1.connectionType = \"custom\" +#ethernet1.vnet = \"/dev/vmnet2\" +ethernet0.address = \"00:50:56:${VM_ID}:${machostpart}\" +ethernet0.wakeOnPcktRcv = \"FALSE\" + +# sound +sound.present = \"TRUE\" +sound.fileName = \"-1\" +sound.autodetect = \"TRUE\" +sound.virtualdev = \"${sound}\" + +# svga +svga.autodetect = \"${svga_autodetect}\" + +# usb +usb.present = \"TRUE\" +usb.generic.autoconnect = \"TRUE\" + +# pci configuration +usb.pciSlotNumber = "16" +ethernet0.pciSlotNumber = "17" +sound.pciSlotNumber = "18" +ehci.pciSlotNumber = "19" +scsi0.pciSlotNumber = "20" + +# shared folders +sharedFolder0.present = \"${shfolders}\" +sharedFolder0.enabled = \"${shfolders}\" +sharedFolder0.expiration = \"never\" +sharedFolder0.guestName = \"${sharename}\" +sharedFolder0.hostPath = \"${sharepath}\" +sharedFolder0.readAccess = \"TRUE\" +sharedFolder0.writeAccess = \"TRUE\" +sharedFolder.maxNum = \"1\" + +# dirs/configs +tmpDirectory = \"${redodir}\" +redoLogDir = \"${redodir}\" +mainMem.useNamedFile = \"TRUE\" +snapshot.disabled = \"TRUE\" +tools.syncTime = \"TRUE\" +isolation.tools.hgfs.disable = \"FALSE\" +hgfs.mapRootShare = \"TRUE\" +isolation.tools.dnd.disable = \"FALSE\" +isolation.tools.copy.enable = \"TRUE\" +isolation.tools.paste.enabled = \"TRUE\" + +# serial port +serial0.present = \"${serial}\" +${serialdev} + +# parallel port +parallel0.present = \"${parallel}\" +parallel0.bidirectional = \"${paralbidi}\" +${paraldev}" >>${conffile} + +# set the appropriate permissions for the vmware config file +chmod u+rwx ${conffile} >/dev/null 2>&1 +} + +preferencesheader () +{ +echo ".encoding = \"UTF-8\" +# This configuration file was generated by $0 + +# updates/tips +webUpdate.enabled = \"FALSE\" +pref.downloadPermission = \"deny\" +pref.vmplayer.downloadPermission = \"deny\" +pref.vmplayer.webUpdateOnStartup = \"FALSE\" +pref.tip.startup = \"FALSE\" +hints.hideAll = \"TRUE\" +hint.vmui.showAllUSBDevs = \"FALSE\" + +# configs +prefvmx.defaultVMPath = \"${vmhome}\" +prefvmx.mru.config = \"${conffile}:\" + +# hot keys +pref.hotkey.control = \"true\" +pref.hotkey.alt = \"true\" +pref.hotkey.shift = \"true\" +pref.hotkey.gui = \"true\" +gui.restricted = \"true\" + +# fullscreen/mouse/keyboard +pref.fullscreen.toolbarPixels = \"0\" +pref.vmplayer.fullscreen.autohide = \"TRUE\" +pref.grabOnMouseClick = \"TRUE\" +pref.grabOnKeyPress = \"FALSE\" +pref.motionGrab = \"TRUE\" +pref.motionUngrab = \"TRUE\" +pref.hideCursorOnUngrab = \"TRUE\" +pref.autoFit = \"TRUE\" +pref.autoFitFullScreen = \"fitGuestToHost\" +pref.vmplayer.exit.vmAction = \"poweroff\" +pref.vmplayer.confirmOnExit = \"TRUE\" + +# shared folders +pref.enableAllSharedFolders = \"TRUE\" + +# eula" >${vmhome}/preferences + +# different eula parameters from Workstation 9+/ Player 5+ +case "$vmversion" in + 3.*|4.*|7.*|8.*) + echo " +pref.eula.size = \"2\" +pref.eula.0.appName = \"VMware Player\" +pref.eula.0.buildNumber = \"${vmbuild}\" +pref.eula.1.appName = \"VMware Workstation\" +pref.eula.1.buildNumber = \"${vmbuild}\"" >>${vmhome}/preferences + ;; + 5.*|9.*) + # code + echo " +pref.eula.count = \"2\" +pref.eula0.product = \"VMware Player\" +pref.eula0.build = \"${vmbuild}\" +pref.eula1.product = \"VMware Workstation\" +pref.eula1.build = \"${vmbuild}\"" >>${vmhome}/preferences + ;; +esac + +} + + +# declaration of default variables +################################################################################ + +# VM-ID static (0D), remove if changed to 00 +VM_ID="0D" +# should be dynamic +if [ "x$(which bc)" != "x" ]; then + VM_ID=$(echo "obase=16; $$" | bc) + VM_ID=$(expr substr $VM_ID $(expr ${#VM_ID} - 1) 2) +fi +# temporary disk space for logs, etc... +redodir=/tmp/vmware/${USER}.$$ +# dir for configs and vmem file +confdir=/tmp/vmware/${USER}.$$ +# configfile +conffile="${confdir}/run-vmware.conf" +# diskfile +diskfile=${vmpath} +# users vmware config folder +vmhome="${HOME}/.vmware" + +# get several version infos for vmware/player +. /etc/openslx/vmware/vmware.conf +vmbuild=$buildversion +vmversion=$version + +# VMware start options +# "-X": start in fullscreen +vmopt="-X" + + +# hardware checks +################################################################################ + +# use different network card (default e1000, vlance, vmxnet) +if [ -n "${network_card}" ]; then + network_virtualDev="ethernet0.virtualDev = \"${network_card}\"" +else + network_virtualDev='# using default virtualDev for ethernet0' +fi + +# set standard sound card, overwrite depending on OS (options sb16, es1371, hdaudio) +sound="es1371" + +# check for 3D configuration setting +case "${enable3d}" in + *true*|*yes*) + enable3d="TRUE" + ;; + *) + enable3d="FALSE" + ;; +esac + +# serial/parallel port defined (e.g. "ttyS0, lp0" or "autodetect") +case "$serial" in + tty*) + serialdev="serial0.filename = \"/dev/${serial}\"" + serial="TRUE" + ;; + auto*) + serialdev="serial0.autodetect = \"TRUE\"" + serial="TRUE" + ;; + *) + serialdev="# no serial port configured" + serial="FALSE" + ;; +esac +case "$parallel" in + lp*|parport*) + paraldev="parallel0.filename = \"/dev/${parallel}\"" + paralbidi="TRUE" + parallel="TRUE" + ;; + auto*) + paraldev="parallel0.autodetect = \"TRUE\"" + paralbidi="TRUE" + parallel="TRUE" + ;; + *) + paraldev="# no parallel port configured" + paralbidi="FALSE" + parallel="FALSE" + ;; +esac + +# adjust memory available for vmware guests +#if [ -n "${forcemem}" ]; then +# mem="${forcemem}" +#else +# case "$vmversion" in +# 2.*|6.*) +# permem=30 +# ;; +# 3.*|7.*) +# permem=25 +# ;; +# esac +# if [ "${totalmem}" -ge "2500" ]; 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 +# mem=$(expr ${totalmem} / 100 \* ${permem} / 4 \* 4) +# if [ "${id44}" = "1" ]; then +# hostmem=$(expr ${totalmem} - ${mem}) +# else +# hostmem=$(expr ${totalmem} - ${mem} - ${mem}) +# fi +#fi + +# check if ide/scsi and hwver of image +# read only the first 30 lines to be shure +imghead=$(head -30 ${diskfile}) +hddrv=$(echo "${imghead}" | grep -m1 -ia "ddb.adapterType" |\ + awk -F '"' '{print $2}') +hwver=$(echo "${imghead}" | grep -m1 -ia "ddb.virtualHWVersion" |\ + awk -F '"' '{print $2}') +case "${hddrv}" in + ide) + ide="TRUE" + scsi="FALSE" + ;; + lsilogic|buslogic) + ide="FALSE" + scsi="TRUE" + ;; +esac + +# write configuration files +################################################################################ + +# create vmware directories +mkdir -p ${redodir} >/dev/null 2>&1 +mkdir -p ${confdir} >/dev/null 2>&1 +mkdir -p ${vmhome}/dndlogs >/dev/null 2>&1 +touch ${vmhome}/dndlogs/dndlog.conf >/dev/null 2>&1 + +# create preferences +preferencesheader + +# create VMware startup file +runvmwareconfheader +# link to conffile if confdir != redodir +ln -s ${conffile} ${redodir}/run-vmware.conf >/dev/null 2>&1 + +# sync is needed to ensure that data is really written to virtual disk +sync + +# own nvram. We need it for floppy drive b, default nvram has just drive a +# TODO: optimize, currently kinda inefficient, too much copys, but we +# don't know which one is installed... +cp /etc/openslx/vmware/nvram ${confdir}/nvram 2>/dev/null + + +# logging and stdout +################################################################################ + +# log script information +writelog "# File created by $0 (VMversion ${vmversion})\n# on $(date)\n" +writelog "Starting with non-persistent mode ...\n" + +# write all results to logfile +# log disksetup +writelog "Directories:" +writelog "\tConfdir:\t${confdir}" +writelog "\tConffile:\t${conffile}" +writelog "\tRedodir:\t${redodir}" +writelog "\tVMhome:\t\t${vmhome}" +writelog "\t/tmp info: \ + $(grep "/tmp " /proc/mounts) $(df -h | grep " /tmp$" | awk '{print $2}')" +# hw setup +writelog "Hardware:" +writelog "\tMAC:\t\t00:50:56:${VM_ID}:${machostpart}" +if [ -n "${network_card}" ]; then + writelog "\tNet Adaptor:\t${network_card}" +fi +writelog "\tMem:\t\t${mem} MB" +# echo nur wenn hostmem gesetzt +[ -n "${hostmem}" ] && writelog "\tHostmem:\t${hostmem} MB" +writelog "\tMax. res.:\t${xres}x${yres}" +writelog "\tCD-ROM1:\t${cdrom0}" +writelog "\tCD-ROM2:\t${cdrom1}" +writelog "\tFloppy_A:\t${floppy0}" +if [ "${serial}" = "TRUE" ]; then + writelog "\tSerial Port:\t${serialdev}" +fi +if [ "${parallel}" = "TRUE" ]; then + writelog "\tParallel Port:\t${paraldev}" +fi +# image +writelog "Diskimage:" +writelog "\tDiskfile:\t${diskfile}" +writelog "\tDisktype:\t${hddrv}" +writelog "\tHWVersion:\t${hwver}" +writelog "\tVMostype:\t${vmostype}" +# misc +writelog "Misc:" +writelog "\tDisplayname:\t${displayname}" +if [ "${cap3d}" = "TRUE" -a "${enable3d}" = "TRUE" ]; then + writelog "\t3D Graphics:\tenabled" +fi +# empty line at end +writelog "" + + +# finally set env for run-virt.sh +################################################################################ + +# configure and start samba service to provide user's home directory +if [ -f /usr/sbin/smbd ] ; then + sudo /opt/openslx/bin/sed -i /etc/vmware/smb.conf -e "s,USER,$USER," + sudo /usr/sbin/nmbd -s /etc/vmware/smb.conf + sudo /usr/sbin/smbd -s /etc/vmware/smb.conf +fi + +# using the modified version of the wrapper script +VIRTCMD="/opt/openslx/bin/vmplayer" +VIRTCMDOPTS="${vmopt} ${conffile}" +RMDIRS="${redodir} ${conffile}" diff --git a/remote/modules/vmplayer/data/etc/openslx/vmware/vmware-env b/remote/modules/vmplayer/data/etc/openslx/vmware/vmware-env new file mode 100755 index 00000000..f4901070 --- /dev/null +++ b/remote/modules/vmplayer/data/etc/openslx/vmware/vmware-env @@ -0,0 +1,125 @@ +#!/bin/sh +# Copyright (c) 2009 - 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/ +# ----------------------------------------------------------------------------- +# §filename§ +# - §desc§ +# §generated§ +# ----------------------------------------------------------------------------- + +#functions: helper functions +tempdir () { +# Create a special tempfs directory +mkdir -m 1777 -p /tmp/vmware +# Don't mount special tempfs, when using local harddrive for /tmp +[ ! -n "$(cat /proc/mounts |grep ' /tmp '|grep '/dev/sd')" ] \ + && mount -t tmpfs -o size=180%,mode=1777 tmpfs /tmp/vmware +} + +load_modules () { +# VMplayer common stuff +insmod /lib/modules/vmware/vmmon.ko || return 1 +insmod /lib/modules/vmware/vmnet.ko || return 1 +# VMplayer 3.X specific stuff +insmod /lib/modules/vmware/vmci.ko +insmod /lib/modules/vmware/vmblock.ko +insmod /lib/modules/vmware/vsock.ko + +} + +unload_modules () { +rmmod vmnet vmmonvsock vmci vmblock 2>/dev/null +} + +vmnetif () { +# let point the path directly to the directory where the binary lives +location="/usr/bin" +if [ -n "$vmnet0" ] ; then + # the path might be directly point to the plugin dir + $location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid -n 0 +fi +if [ -n "$vmnet1" ] ; then + $location/vmnet-netifup -d /var/run/vmnet-netifup-vmnet1.pid \ + /dev/vmnet1 vmnet1 + ip addr add $vmnet1 dev vmnet1 + ip link set vmnet1 up + if [ -n "$vmnet1nat" ] ; then + echo "1" >/proc/sys/net/ipv4/conf/vmnet1/forwarding 2>/dev/null + echo "1" >/proc/sys/net/ipv4/conf/br0/forwarding 2>/dev/null + fi + /opt/openslx/rootfs/usr/sbin/udhcpd \ + -S /etc/vmware/udhcpd/udhcpd-vmnet1.conf +fi +if [ -n "$vmnet8" ] ; then + $location/vmnet-netifup -d /var/run/vmnet-netifup-vmnet8.pid \ + /dev/vmnet8 vmnet8 + ip addr add $vmnet8 dev vmnet8 + ip link set vmnet8 up + echo "1" >/proc/sys/net/ipv4/conf/vmnet8/forwarding 2>/dev/null + echo "1" >/proc/sys/net/ipv4/conf/br0/forwarding 2>/dev/null +# TODO: iptables in stage32? +# iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE + # /etc/vmware/vmnet-natd-8.mac simply contains a mac like 00:50:56:F1:30:50 + $location/vmnet-natd -d /var/run/vmnet-natd-8.pid \ + -m /etc/vmware/vmnet-natd-8.mac -c /etc/vmware/nat.conf 2>/dev/null # or logfile + /opt/openslx/usr/sbin/udhcpd \ + -S /etc/vmware/udhcpd/udhcpd-vmnet8.conf +fi + +} + +vmblock () { +# let point the path directly to the directory where the binary lives + /usr/bin/vmware-usbarbitrator + +} + + +case "$1" in + start) + #start: defines start function for initscript + # load the configuration file + . /etc/openslx/vmware/vmware.conf + # hack to access the first serial/parallel port + chmod a+rw /dev/ttyS0 + chmod a+rw /dev/parport0 + tempdir + load_modules + vmnetif + vmblock + + ;; + stop) + #stop: defines stop function for initscript + killall vmnet-netifup vmnet-natd vmnet-bridge vmware vmplayer \ + vmware-tray vmnet-dhcpd 2>/dev/null + # might take a while until all services are shut down + sleep 1 + umount -l /tmp/vmware 2>/dev/null + unload_modules + + ;; + restart) + #restart: defines restart function for initscript + $0 stop && $0 start + ;; + status) + #status: defines status function for initscript + vmstatus + ;; + *) + #usage: defines usage function for initscript + ## print out usage + echo "Usage: $0 {start, stop, restart, status}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/remote/modules/vmplayer/data/etc/openslx/vmware/vmware.conf b/remote/modules/vmplayer/data/etc/openslx/vmware/vmware.conf new file mode 100644 index 00000000..a67adc18 --- /dev/null +++ b/remote/modules/vmplayer/data/etc/openslx/vmware/vmware.conf @@ -0,0 +1,8 @@ +# configuration file for vmware background services written in stage3 setup +vmnet0=true +vmnet1=192.168.101.1/24 +vmnet1nat=true +vmnet8=192.168.102.1/24 +# stage1 variables produced during plugin install +version="5.0" +buildversion="1031769" diff --git a/remote/modules/vmplayer/data/etc/systemd/system/vmware.service b/remote/modules/vmplayer/data/etc/systemd/system/vmware.service new file mode 100644 index 00000000..067b15a0 --- /dev/null +++ b/remote/modules/vmplayer/data/etc/systemd/system/vmware.service @@ -0,0 +1,8 @@ +[Unit] +Description=Sets up the vmware environment +Wants=graphical.target + +[Service] +Type=simple +ExecStart=/etc/openslx/vmware/vmware-env start +ExecStop=/etc/openslx/vmware/vmware-env stop diff --git a/remote/modules/vmplayer/data/opt/openslx/bin/vmplayer b/remote/modules/vmplayer/data/opt/openslx/bin/vmplayer new file mode 100755 index 00000000..2b6e8f31 --- /dev/null +++ b/remote/modules/vmplayer/data/opt/openslx/bin/vmplayer @@ -0,0 +1,21 @@ +#!/bin/sh + +for mod in /lib/modules/vmware/*.ko; do + insmod "$mod" && continue + xmessage "Could not load kernel module $mod. vmplayer might fail." +done + +export LIBCONF_DIR=/usr/lib/vmware/libconf + +#/usr/lib/vmware/bin/vmplayer $@ + +# 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/vmplayer/data/opt/openslx/bin/vmware b/remote/modules/vmplayer/data/opt/openslx/bin/vmware new file mode 100755 index 00000000..1fe9b11d --- /dev/null +++ b/remote/modules/vmplayer/data/opt/openslx/bin/vmware @@ -0,0 +1,11 @@ +#!/bin/sh +# 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/vmware' \ + "$PREFIX"'/libconf' "$@" + + + + -- cgit v1.2.3-55-g7522 From b15315fc892deb27b8dfe4a50aba329130a5b0e6 Mon Sep 17 00:00:00 2001 From: Michael Neves Date: Mon, 13 May 2013 16:37:59 +0200 Subject: delete old dirs --- remote/modules/vmchooser/data/opt/openslx/bin/vmplayer | 8 -------- remote/modules/vmchooser/data/opt/openslx/bin/vmware | 8 -------- remote/modules/vmplayer/data/bin/vmplayer | 10 ---------- 3 files changed, 26 deletions(-) delete mode 100755 remote/modules/vmchooser/data/opt/openslx/bin/vmplayer delete mode 100755 remote/modules/vmchooser/data/opt/openslx/bin/vmware delete mode 100755 remote/modules/vmplayer/data/bin/vmplayer (limited to 'remote/modules') diff --git a/remote/modules/vmchooser/data/opt/openslx/bin/vmplayer b/remote/modules/vmchooser/data/opt/openslx/bin/vmplayer deleted file mode 100755 index c9b57a65..00000000 --- a/remote/modules/vmchooser/data/opt/openslx/bin/vmplayer +++ /dev/null @@ -1,8 +0,0 @@ -#!/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 deleted file mode 100755 index 8b568f53..00000000 --- a/remote/modules/vmchooser/data/opt/openslx/bin/vmware +++ /dev/null @@ -1,8 +0,0 @@ -#!/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/vmplayer/data/bin/vmplayer b/remote/modules/vmplayer/data/bin/vmplayer deleted file mode 100755 index 874c3d96..00000000 --- a/remote/modules/vmplayer/data/bin/vmplayer +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -for mod in /lib/modules/vmware/*.ko; do - insmod "$mod" && continue - xmessage "Could not load kernel module $mod. vmplayer might fail." -done - -export LIBCONF_DIR=/usr/lib/vmware/libconf -/usr/lib/vmware/bin/vmplayer $@ - -- cgit v1.2.3-55-g7522 From fb5d2887604afbb915e9a241bfe82de04ce2a360 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 13 May 2013 21:20:00 +0200 Subject: [vmplayer] Patch vmblock.tar (putname stuff) --- remote/modules/vmplayer/vmplayer.build | 53 ++++++++++++++++++++-------------- 1 file changed, 31 insertions(+), 22 deletions(-) (limited to 'remote/modules') diff --git a/remote/modules/vmplayer/vmplayer.build b/remote/modules/vmplayer/vmplayer.build index 2ef2ed68..6c3ae602 100644 --- a/remote/modules/vmplayer/vmplayer.build +++ b/remote/modules/vmplayer/vmplayer.build @@ -46,29 +46,30 @@ build() { post_copy() { # FIXME: gconftool is copied without dependencies - tarcopy "$(find /usr/lib/ -name gconv -type d) $(which gconftool-2)" "$TARGET_BUILD_DIR" + #tarcopy "$(find /usr/lib/ -name gconv -type d)" "$TARGET_BUILD_DIR" + : } build_modules(){ pdebug "PAtCHIGN" # need to be in src - cd "$MODULE_DIR"/src || perror "Could not cd to '$MODULE_DIR/src'" + cd "$MODULE_DIR/src" || perror "Could not cd to '$MODULE_DIR/src'" local VMWARE_MODCONFIG="$MODULE_DIR/src/vmware-vmx/bin/vmware-modconfig" [ -e "$VMWARE_MODCONFIG" ] && chmod +x "$VMWARE_MODCONFIG" || perror "Could not find $VMWARE_MODCONFIG" # link vmware-modconfig-console in the build dir local MANIFEST="$MODULE_DIR/src/vmware-vmx/manifest.xml" - local BUILD_NUMBER=$(grep -o -E '[0-9]*' "$MANIFEST"|grep -o -E '[0-9]*') - local VERSION=$(grep -o -E '[0-9.]*' "$MANIFEST"|grep -o -E '[0-9.]*') - local CORE_VERSION=$(grep -o -E '[0-9.]*' "$MANIFEST"|grep -o -E '[0-9.]*') + local BUILD_NUMBER="$(grep -o -E '[0-9]*' "$MANIFEST"|grep -o -E '[0-9]*')" + local VERSION="$(grep -o -E '[0-9.]*' "$MANIFEST"|grep -o -E '[0-9.]*')" + local CORE_VERSION="$(grep -o -E '[0-9.]*' "$MANIFEST"|grep -o -E '[0-9.]*')" # /etc/vmware/config gen - sed -i.bak1 '/^ETCDIR/d;/^VMISETCDIR/d;/bootstrap/d' $VMWARE_MODCONFIG - sed -i.bak2 "s/libdir=.*/libdir=$(echo $MODULE_BUILD_DIR | escape_replace)\/usr\/lib\/vmware/g" $VMWARE_MODCONFIG - sed -i.bak3 "s/set\ -e/set\ -e\nPREFIX=\"\/usr\"\nBINDIR=\"\/usr\/bin\"\nSBINDIR=\"\/usr\/sbin\"\nLIBDIR=\"\/usr\/lib\"\nDATADIR=\"\/usr\/share\"\nSYSCONFDIR=\"\/etc\"\nDOCDIR=\"\/usr\/share\/doc\"\nMANDIR=\"\/usr\/share\/man\"\nINCLUDEDIR=\"\/usr\/include\"\nINITDIR=\"\/etc\"\nINITSCRIPTDIR=\"\/etc\/init.d\"\nVMWARE\_INSTALLER=\"\/usr\/lib\/vmware-installer\/$CORE_VERSION\"\nVERSION=\"$CORE_VERSION\"\nVMISVERSION=\"$CORE_VERSION\"\nVMISPYVERSION=\"25\"/g" "$VMWARE_MODCONFIG" + sed -i.bak1 '/^ETCDIR/d;/^VMISETCDIR/d;/bootstrap/d' "$VMWARE_MODCONFIG" + sed -i.bak2 "s/libdir=.*/libdir=$(echo $MODULE_BUILD_DIR | escape_replace)\/usr\/lib\/vmware/g" "$VMWARE_MODCONFIG" + sed -i.bak3 "s#set -e#set -e\nPREFIX=\"/usr\"\nBINDIR=\"/usr/bin\"\nSBINDIR=\"/usr/sbin\"\nLIBDIR=\"/usr/lib\"\nDATADIR=\"/usr/share\"\nSYSCONFDIR=\"/etc\"\nDOCDIR=\"/usr/share/doc\"\nMANDIR=\"/usr/share/man\"\nINCLUDEDIR=\"/usr/include\"\nINITDIR=\"/etc\"\nINITSCRIPTDIR=\"/etc/init.d\"\nVMWARE_INSTALLER=\"/usr/lib/vmware-installer/$CORE_VERSION\"\nVERSION=\"$CORE_VERSION\"\nVMISVERSION=\"$CORE_VERSION\"\nVMISPYVERSION=\"25\"#g" "$VMWARE_MODCONFIG" - [ -e /etc/vmware/config ] && cp /etc/vmware/config /etc/vmware/config.mltk.bak - cat > /etc/vmware/config << EOF + [ -e "/etc/vmware/config" ] && cp "/etc/vmware/config" "/etc/vmware/config.mltk.bak" + cat > "/etc/vmware/config" << EOF .encoding = "UTF-8" installerDefaults.componentDownloadEnabled = "yes" installerDefaults.dataCollectionEnabled = "no" @@ -95,26 +96,34 @@ product.version = "9.0.1" workstation.product.version = "9.0.1" product.name = "VMware Workstation" EOF - mkdir -p $MODULE_BUILD_DIR/usr/lib/vmware/modules - ln -sf $MODULE_DIR/src/vmware-vmx/extra/modules.xml $MODULE_BUILD_DIR/usr/lib/vmware/modules/ - ln -sf $MODULE_DIR/src/vmware-vmx/lib/modules/source $MODULE_BUILD_DIR/usr/lib/vmware/modules/ + mkdir -p "$MODULE_BUILD_DIR/usr/lib/vmware/modules" + ln -sf "$MODULE_DIR/src/vmware-vmx/extra/modules.xml" "$MODULE_BUILD_DIR/usr/lib/vmware/modules/" + ln -sf "$MODULE_DIR/src/vmware-vmx/lib/modules/source" "$MODULE_BUILD_DIR/usr/lib/vmware/modules/" - ln -sf appLoader $MODULE_BUILD_DIR/usr/lib/vmware/bin/vmware-modconfig - ln -sf appLoader $MODULE_BUILD_DIR/usr/lib/vmware/bin/vmware-modconfig-console + ln -sf "appLoader" "$MODULE_BUILD_DIR/usr/lib/vmware/bin/vmware-modconfig" + ln -sf "appLoader" "$MODULE_BUILD_DIR/usr/lib/vmware/bin/vmware-modconfig-console" - [ ! -e "$MODULES_DIR"/kernel/ksrc/include/generated/utsrelease.h ] && perror "Could not find uts release!!!" - local UTS_RELEASE=$(cat "$MODULES_DIR"/kernel/ksrc/include/generated/utsrelease.h |awk -F "\"" '{print $2}') + [ ! -e "$MODULES_DIR/kernel/ksrc/include/generated/utsrelease.h" ] && perror "Could not find uts release!!!" + local UTS_RELEASE="$(cat "$MODULES_DIR/kernel/ksrc/include/generated/utsrelease.h" | awk -F '"' '{print $2}')" + pinfo "Patching vmblock.tar" + cd "$MODULE_BUILD_DIR/usr/lib/vmware/modules/source" || perror "cd failed." + tar xf "vmblock.tar" || perror "untar of vmblock.tar failed." + for sourcefile in $(grep -l -r -E '\sputname' "vmblock-only/"); do + sed -r -i 's/\sputname/__putname/g' "$sourcefile" || perror "sed of $sourcefile failed." + done + tar cf "vmblock.tar" "vmblock-only/" || perror "repacking of vmblock.tar failed." + cd - - pinfo "KOMPALIER" + pinfo "KOMPALIERE VMWARE KERNEL MODULE" for MOD in vsock vmblock vmmon vmnet vmci; do - pdebug "Kompaliere $MOD" - $VMWARE_MODCONFIG --console --build-mod -k $UTS_RELEASE $MOD $(which gcc) $MODULES_DIR/kernel/ksrc/include vmplayer $MOD + pinfo "Kompaliere $MOD" + "$VMWARE_MODCONFIG" --console --build-mod -k "$UTS_RELEASE $MOD" "$(which gcc)" "$MODULES_DIR/kernel/ksrc/include" "vmplayer" "$MOD" done cd - - mkdir -p "$TARGET_BUILD_DIR"/lib/modules/vmware/ - cp "/lib/modules/$UTS_RELEASE/vmplayer/"* "$TARGET_BUILD_DIR"/lib/modules/vmware/ || perror "Could not cp vmware modules to target!" + mkdir -p "$TARGET_BUILD_DIR/lib/modules/vmware/" + cp "/lib/modules/$UTS_RELEASE/vmplayer/"* "$TARGET_BUILD_DIR/lib/modules/vmware/" || perror "Could not cp vmware modules to target!" } -- cgit v1.2.3-55-g7522 From f75155fde91ef7c395ec835840b57a5a078e8649 Mon Sep 17 00:00:00 2001 From: Michael Neves Date: Tue, 14 May 2013 13:21:17 +0200 Subject: vmware --- remote/modules/vmplayer/data/etc/openslx/vmware/vmware-env | 7 +++++-- remote/modules/vmplayer/data/etc/openslx/vmware/vmware.conf | 8 ++++---- remote/modules/vmplayer/data/opt/openslx/bin/vmplayer | 10 ---------- remote/modules/vmplayer/vmplayer.build | 3 +++ 4 files changed, 12 insertions(+), 16 deletions(-) (limited to 'remote/modules') diff --git a/remote/modules/vmplayer/data/etc/openslx/vmware/vmware-env b/remote/modules/vmplayer/data/etc/openslx/vmware/vmware-env index f4901070..41360bb3 100755 --- a/remote/modules/vmplayer/data/etc/openslx/vmware/vmware-env +++ b/remote/modules/vmplayer/data/etc/openslx/vmware/vmware-env @@ -14,6 +14,8 @@ # §generated§ # ----------------------------------------------------------------------------- +export PATH=$PATH:/opt/openslx/bin:/opt/openslx/sbin:/opt/openslx/usr/bin:/opt/openslx/usr/sbin + #functions: helper functions tempdir () { # Create a special tempfs directory @@ -54,7 +56,7 @@ if [ -n "$vmnet1" ] ; then echo "1" >/proc/sys/net/ipv4/conf/vmnet1/forwarding 2>/dev/null echo "1" >/proc/sys/net/ipv4/conf/br0/forwarding 2>/dev/null fi - /opt/openslx/rootfs/usr/sbin/udhcpd \ + /opt/openslx/usr/sbin/udhcpd \ -S /etc/vmware/udhcpd/udhcpd-vmnet1.conf fi if [ -n "$vmnet8" ] ; then @@ -77,6 +79,7 @@ fi vmblock () { # let point the path directly to the directory where the binary lives +# TODO: get it to work /usr/bin/vmware-usbarbitrator } @@ -93,7 +96,7 @@ case "$1" in tempdir load_modules vmnetif - vmblock +# vmblock ;; stop) diff --git a/remote/modules/vmplayer/data/etc/openslx/vmware/vmware.conf b/remote/modules/vmplayer/data/etc/openslx/vmware/vmware.conf index a67adc18..5a52ca41 100644 --- a/remote/modules/vmplayer/data/etc/openslx/vmware/vmware.conf +++ b/remote/modules/vmplayer/data/etc/openslx/vmware/vmware.conf @@ -1,8 +1,8 @@ # configuration file for vmware background services written in stage3 setup -vmnet0=true -vmnet1=192.168.101.1/24 -vmnet1nat=true -vmnet8=192.168.102.1/24 +#vmnet0=true +#vmnet1=192.168.101.1/24 +#vmnet1nat=true +#vmnet8=192.168.102.1/24 # stage1 variables produced during plugin install version="5.0" buildversion="1031769" diff --git a/remote/modules/vmplayer/data/opt/openslx/bin/vmplayer b/remote/modules/vmplayer/data/opt/openslx/bin/vmplayer index 2b6e8f31..030e9175 100755 --- a/remote/modules/vmplayer/data/opt/openslx/bin/vmplayer +++ b/remote/modules/vmplayer/data/opt/openslx/bin/vmplayer @@ -1,14 +1,4 @@ #!/bin/sh - -for mod in /lib/modules/vmware/*.ko; do - insmod "$mod" && continue - xmessage "Could not load kernel module $mod. vmplayer might fail." -done - -export LIBCONF_DIR=/usr/lib/vmware/libconf - -#/usr/lib/vmware/bin/vmplayer $@ - # 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' \ diff --git a/remote/modules/vmplayer/vmplayer.build b/remote/modules/vmplayer/vmplayer.build index 2ef2ed68..c0067b01 100644 --- a/remote/modules/vmplayer/vmplayer.build +++ b/remote/modules/vmplayer/vmplayer.build @@ -1,4 +1,7 @@ fetch_source() { + #mount vmware bundle directory + [ ! -d /mnt/store/vmware ] && mkdir -p /mnt/store/vmware + mount -t nfs -o ro,async,nolock 132.230.8.113:/srv/vmext /mnt/store/vmware || perror "Could not mount vmware bundle directory. Exiting." ARCH=$(uname -m) [ "$ARCH" = "i686" ] && ARCH=i386 local BUNDLE="$(find /mnt/store/vmware -type f -name "VMware-Player*.${ARCH}.bundle" | head -1)" -- cgit v1.2.3-55-g7522 From 8c4942f02b72b694ac8e5c71616af22a0a25e8bf Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Tue, 14 May 2013 16:19:39 +0200 Subject: copy the saved vmware config file back :) --- remote/modules/vmplayer/vmplayer.build | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'remote/modules') diff --git a/remote/modules/vmplayer/vmplayer.build b/remote/modules/vmplayer/vmplayer.build index 63f44fdd..1e3090ac 100644 --- a/remote/modules/vmplayer/vmplayer.build +++ b/remote/modules/vmplayer/vmplayer.build @@ -127,6 +127,7 @@ EOF mkdir -p "$TARGET_BUILD_DIR/lib/modules/vmware/" cp "/lib/modules/$UTS_RELEASE/vmplayer/"* "$TARGET_BUILD_DIR/lib/modules/vmware/" || perror "Could not cp vmware modules to target!" + [ -e /etc/vmware/config ] && rm -f /etc/vmware/config + cp /etc/vmware/config.mltk.bak /etc/vmware/config } - -- cgit v1.2.3-55-g7522