summaryrefslogtreecommitdiffstats
path: root/initrd
diff options
context:
space:
mode:
authorMichael Janczyk2006-03-24 00:24:33 +0100
committerMichael Janczyk2006-03-24 00:24:33 +0100
commit97ea24b7dfc28325de2cbe7d5b86ba98805436b3 (patch)
tree6d0fc4e3fa3e1cd0cb19d2749da665d35cc9a591 /initrd
parentremoved obsolete function ... (diff)
downloadcore-97ea24b7dfc28325de2cbe7d5b86ba98805436b3.tar.gz
core-97ea24b7dfc28325de2cbe7d5b86ba98805436b3.tar.xz
core-97ea24b7dfc28325de2cbe7d5b86ba98805436b3.zip
vmware-prep test version
git-svn-id: http://svn.openslx.org/svn/openslx/ld4@121 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'initrd')
-rw-r--r--initrd/initrd-stuff/etc/vmware-prep130
1 files changed, 85 insertions, 45 deletions
diff --git a/initrd/initrd-stuff/etc/vmware-prep b/initrd/initrd-stuff/etc/vmware-prep
index 09b9e17f..8f2f037e 100644
--- a/initrd/initrd-stuff/etc/vmware-prep
+++ b/initrd/initrd-stuff/etc/vmware-prep
@@ -4,7 +4,7 @@
# Diskless X Stations (v4.0) - script prepares vmware
# environment
#
-# Author(s): Michael Janczyk <mj0@uni-freiburg.de>, 09-03-2006
+# Author(s): Michael Janczyk <mj0@uni-freiburg.de>, 23-03-2006
# Dirk von Suchodoletz <dirk@goe.net>, 08-03-2006
# Copyright: (c) 2003, 2006 - RZ Universitaet Freiburg
#
@@ -28,77 +28,117 @@
### VARIABLES SECTION ##########################################################
# Declaration of default variables
vmdir="/var/lib/vmware"
+path="/var/X11R6/bin"
+part44=
+sessions=
+session_name=
### FUNCTIONS SECTION ##########################################################
+# mount scratch on server, but only if no 44 partition mounted
+mount_scratch () {
+ part44=$(grep -i "/tmp.*ext2" /etc/fstab)
+ if [ -n "${scratch}" -a -z "${part44}" ]; then
+ mkdir -p /tmp/scratch >/dev/null 2>&1
+ mount -t nfs -o rw,nolock,intr,nodev,soft,timeo=2,nosuid ${scratch} \
+ /tmp/scratch >/dev/null 2>&1
+ mkdir -p /tmp/scratch/${clientip} >/dev/null 2>&1
+ mount -t nfs -o rw,nolock,intr,nodev,soft,timeo=2,nosuid \
+ ${scratch}/${clientip} /tmp >/dev/null 2>&1 &
+ chmod 1777 /tmp 2>&1
+ fi
+}
-
-### START SCRIPT ###############################################################
-
-echo -n "Starting preparation of vmware environment "
-
-
-# mount von zeugs
-mount -t nfs -o ro,nolock,intr,nodev,soft,timeo=2,nosuid ${vmimgsrc} ${vmdir} &
+# loop file for exchanging information between linux and vmware
+mount_loop () {
+ mkdir -p /media/loop0
+ cp ${vmdir}/templ/fd0.img /tmp/scratch/${clientip}-fd0.img
+ chmod a+rw /tmp/scratch/${clientip}-fd0.img
+ mount -t msdos -o loop,umask=000 /tmp/scratch/${clientip}-fd0.img \
+ /media/loop0
+}
# device creation - the module does not trigger udev properly
-for i in 0 1 2 3 4 5 6 7 8 9; do
- [ -c /dev/vmnet${i} ] || mknod /dev/vmnet${i} c 119 ${i};
-done
-
-chmod 0700 /dev/vmnet*
+vmnet () {
+ for i in 0 1 2 3 4 5 6 7 8 9; do
+ [ -c /dev/vmnet${i} ] || mknod /dev/vmnet${i} c 119 ${i};
+ done
+ chmod 0700 /dev/vmnet*
+}
# special start script for vmware with predefined image
-if test -w /usr/X11R6/bin ; then
- path="/usr/X11R6/bin"
- cp ${vmdir}/import/templ/runvmware \
- /usr/X11R6/bin
-else
- path="/var/X11R6/bin"
- test -d /var/X11R6/bin || mkdir -p /var/X11R6/bin
- cp ${vmdir}/import/templ/runvmware \
- /var/X11R6/bin
-fi
-
-
-# copy blabla
-cp -a ${vmdir}/import/templ/* ${vmdir}/templ
-
-
-# loop file for exchanging information between linux and vmware
-mkdir -p /media/loop0
-cp ${vmdir}/templ/img.fd0 /tmp
-chmod a+rw /tmp/${clientip}-fd0.img
-# UNIONFS test bei ram
-mount -t msdos -o loop,umask=000 /tmp/${clientip}-fd0.img \
- /media/loop0
+Xpath () {
+ if test -w /usr/X11R6/bin ; then
+ path="/usr/X11R6/bin"
+ cp ${vmdir}/import/templ/runvmware \
+ /usr/X11R6/bin
+ else
+ path="/var/X11R6/bin"
+ test -d /var/X11R6/bin || mkdir -p /var/X11R6/bin
+ cp ${vmdir}/import/templ/runvmware \
+ /var/X11R6/bin
+ fi
+}
# blabla sessiondinens
-echo -e "#!/bin/sh\n#\n# file generated by\n#\t${0}:\n#\t${date}\n
+desktop_session () {
+ echo -e "#!/bin/sh\n#\n# file generated by\n#\t${0}:\n#\t${date}\n
os=\$(echo \$0 | sed -e \"s,-, ,\" -e \"s,.*/,,\" | awk '{print \$1}')
spec=\$(echo \$0 | sed -e \"s,-, ,\" -e \"s,.*/,,\" | awk '{print \$2}')\n
options=\"-o \${os} \${spec:+\"-s \${spec}\"}\"\n
xterm -bg black -fg white -geometry 170x30+0-0 +sb \
-e \"${path}/runvmware \${options} ${debug}\"\n" \
-> ${path}/desktop-session
+ > ${path}/desktop-session
+}
# copy nach blabla
-for i in ${vmdir}/vmsessions/*.desktop; do
- session_name=$(cat ${vmdir}/vmsessions/${i} | grep -iw "exec" \
- | awk -F "=" '{print $2}')
- cp ${path}/desktop-session ${path}/${session_name}
-done
+vmsession2desktop_session () {
+ sessions=$(ls ${vmdir}/vmsessions/*.desktop)
+ if [ -n "${sessions}" ]; then
+ for i in ${vmdir}/vmsessions/*.desktop; do
+ session_name=$(cat ${vmdir}/vmsessions/${i} | grep -iw "exec" \
+ | awk -F "=" '{print $2}')
+ cp ${path}/desktop-session ${path}/${session_name}
+ done
+ fi
+}
+
+### START SCRIPT ###############################################################
+
+echo -n "Starting preparation of vmware environment"
+
+# create vmdir
+mkdir -p /var/lib/vmware 2>&1
+
+# mount von zeugs
+mount -t nfs -o ro,nolock,intr,nodev,soft,timeo=2,nosuid ${imgsrv} ${vmdir} &
+mount_scratch
+
+# device creation - the module does not trigger udev properly
+vmnet
+
+# special start script for vmware with predefined image
+Xpath
+
+# loop file for exchanging information between linux and vmware
+mount_loop
+
+# blabla sessiondinens
+desktop_session
+
+# copy nach blabla
+vmsession2desktop_session
-# hier fehlt noch was ;)
+exit 0