From e28f5780fc328d7f8797f62d9350e62f6861014c Mon Sep 17 00:00:00 2001 From: Volker Uhrig Date: Wed, 6 Feb 2008 21:22:09 +0000 Subject: * vmware plugin is no longer offering the list of available vmwares * Prepared vmware plugin for the new vm-chooser menu * VMware plugin could now be broken. Currently untested. * cleaned servconfig * check if SuSE systems have /opt/gdm/... perhaps the GDM configuration is broken. At least it suppresses an error. git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1519 95ad53e4-c205-0410-b2fa-d234c58c8868 --- initramfs/distro-specs/suse/functions-default | 3 + initramfs/initrd-stuff/bin/servconfig | 149 +------------------------- 2 files changed, 5 insertions(+), 147 deletions(-) (limited to 'initramfs') diff --git a/initramfs/distro-specs/suse/functions-default b/initramfs/distro-specs/suse/functions-default index d3ed074b..5bb0e678 100644 --- a/initramfs/distro-specs/suse/functions-default +++ b/initramfs/distro-specs/suse/functions-default @@ -360,6 +360,9 @@ $host_name\n\n\ -audit 0\n\ flexible=true\nhandled=true\nchooser=true" >>/mnt/etc/opt/gnome/gdm/gdm.conf else + if [ ! -d /mnt/etc/opt/gnome/gdm ]; + testmkd /mnt/etc/opt/gnome/gdm + fi echo -e "\n[servers]\n0=Standard\n\n\ [server-Standard]\nname=Standard server\ncommand=/usr/X11R6/bin/X\n\ flexible=true\nhandled=true" >>/mnt/etc/opt/gnome/gdm/gdm.conf diff --git a/initramfs/initrd-stuff/bin/servconfig b/initramfs/initrd-stuff/bin/servconfig index 9b4836b8..552b3fd3 100755 --- a/initramfs/initrd-stuff/bin/servconfig +++ b/initramfs/initrd-stuff/bin/servconfig @@ -105,48 +105,6 @@ echo -e "\t# entries added by $0: $date" >> /mnt/etc/${D_INITDIR}/boot.slx [ -n "${KEYTABLE}" ] && keytable [ -n "${CONSOLE_FONT}" ] && consolefont -############################################################################# -# vmware stuff first part: two scenarios -# * VM images in /usr/share/vmware - then simply link -# * VM images via additional mount (mount source NFS, NBD, ...) -if [ "x$vmware" != "x" ] && [ "x$vmware" != "xno" ] ; then - # map slxgrp to pool, so it's better to understand - pool=${slxgrp} - # if we dont have slxgrp defined - [ -z "$pool" ] && pool="default" - - # get source of vmware image server (get type, server and path) - if strinstr "/" "$vmware" ; then - vmimgprot=$(uri_token $vmware prot) - vmimgserv=$(uri_token $vmware server) - vmimgpath="$(uri_token $vmware path)" - fi - if [ -n "${vmimgserv}" ] ; then - testmkd /mnt/var/lib/vmware - case "${vmimgprot}" in - *nbd) - ;; - lbdev) - # we expect the stuff on toplevel directory, filesystem type should be - # autodetected here ... (vmimgserv is blockdev here) - vmbdev=/dev/${vmimgserv} - waitfor ${vmbdev} 20000 - echo -e "ext2\nreiserfs\nvfat\nxfs" >/etc/filesystems - mount -o ro ${vmbdev} /mnt/var/lib/vmware || error "$scfg_evmlm" nonfatal - ;; - *) - # we expect nfs mounts here ... - for proto in tcp udp fail; do - [ $proto = "fail" ] && { error "$scfg_nfs" nonfatal; - noimg=yes; break;} - mount -n -t nfs -o ro,nolock,$proto ${vmimgserv}:${vmimgpath} \ - /mnt/var/lib/vmware && break - done - ;; - esac - fi -fi - ############################################################################# # setup passwd and shadow for local system users like root, bin, daemon and # nobody if no user/admin provided passwd exists ... @@ -318,111 +276,6 @@ fi # name service caching daemon if networked user database config_nscd -############################################################################# -# vmware stuff second part: setting up the environment - -# create needed directories and files -if [ "x$vmware" != "x" ] && [ "x$vmware" != "xno" ] ; then - for i in /etc/vmware/vmnet1/dhcpd /etc/vmware/vmnet8/nat \ - /etc/vmware/vmnet8/dhcpd /var/run/vmware /etc/vmware/loopimg \ - /etc/vmware/fd-loop /var/X11R6/bin /etc/X11/sessions; do - testmkd /mnt/$i - done - # create needed devices (not created automatically via module load) - for i in "/dev/vmnet0 c 119 0" "/dev/vmnet1 c 119 1" \ - "/dev/vmnet8 c 119 8" "/dev/vmmon c 10 165"; do - mknod $i - done - # create the vmware startup configuration file /etc/vmware/locations - # fixme --> ToDo - # echo -e "answer VNET_8_NAT yes\nanswer VNET_8_HOSTONLY_HOSTADDR \n\ -#192.168.100.1\nanswer VNET_8_HOSTONLY_NETMASK 255.255.255.0\n\ -#file /etc/vmware/vmnet8/dhcpd/dhcpd.conf\n\ -# remove_file /etc/vmware/not_configured" >/mnt/etc/vmware/locations - - chmod 0700 /dev/vmnet* - chmod 1777 /mnt/etc/vmware/fd-loop - # loop file for exchanging information between linux and vmware guest - if modprobe ${MODPRV} loop; then - mdev -s - else - : #|| error "" nonfatal - fi - # mount a clean tempfs (bug in UnionFS prevents loopmount to work) - strinfile "unionfs" /proc/mounts && \ - mount -n -o size=1500k -t tmpfs vm-loopimg /mnt/etc/vmware/loopimg - # create an empty floppy image of 1.4MByte size - dd if=/dev/zero of=/mnt/etc/vmware/loopimg/fd.img \ - count=2880 bs=512 2>/dev/null - chmod 0777 /mnt/etc/vmware/loopimg/fd.img - # use dos formatter from rootfs (later stage4) - LD_LIBRARY_PATH=/mnt/lib /mnt/sbin/mkfs.msdos \ - /mnt/etc/vmware/loopimg/fd.img >/dev/null 2>&1 #|| error - mount -n -t msdos -o loop,umask=000 /mnt/etc/vmware/loopimg/fd.img \ - /mnt/etc/vmware/fd-loop - echo -e "usbfs\t\t/proc/bus/usb\tusbfs\t\tauto\t\t 0 0" >> /mnt/etc/fstab - # needed for VMware 5.5.3 and versions below - echo -e "\tmount -t usbfs usbfs /proc/bus/usb 2>/dev/null" \ - >>/mnt/etc/${D_INITDIR}/boot.slx - config_vmware - chmod 1777 /mnt/var/run/vmware - # define a variable where gdm/kdm should look for additional sessions - # do we really need it? - # export vmsessions=/var/lib/vmware/vmsessions - - # directory of templates and xdialog files - vmdir=/mnt/var/lib/vmware - - if cp ${vmdir}/templates/xdialog.sh /mnt/var/X11R6/bin 2>/dev/null; then - # create default.desktop for kdm - echo -e "[Desktop Entry]\nEncoding=UTF8\nName=Default\nName[de]=Standard"\ - >/mnt/etc/X11/sessions/default.desktop - - #I dont like this part, but there is no simple workaround. We need to - #create xdialog.sh on every box :( - echo "Exec=/var/X11R6/bin/xdialog.sh" \ - >>/mnt/etc/X11/sessions/default.desktop - echo "Type=Application" >>/mnt/etc/X11/sessions/default.desktop - - # all virtual machine clients in xdialog - cat ${vmdir}/xdialog-files/${pool}/*.xdialog \ - >>/mnt/var/X11R6/bin/xdialog.sh - - # /usr/share/xsessions/* files for the xdialog menu - for i in /mnt/usr/share/xsessions/*.desktop; do - # execute - echo "\"$(grep '^Exec=' ${i}|sed 's/^Exec=//')\" \\" \ - >>/mnt/var/X11R6/bin/xdialog.sh - # short description - echo "\"$(grep '^Name=' ${i}|sed 's/^Name=//')\" \\" \ - >>/mnt/var/X11R6/bin/xdialog.sh - # long description - echo "\"$(grep '^Comment=' ${i}|sed 's/^Comment=//')\" \\" \ - >>/mnt/var/X11R6/bin/xdialog.sh - done - # closing bracket as last line ends with '\' - echo ")" >>/mnt/var/X11R6/bin/xdialog.sh - chmod 755 /mnt/var/X11R6/bin/xdialog.sh - - # copy xdm files, so we could choose them before we log in - for i in ${vmdir}/xdmsessions/${pool}/*.desktop;do - cp ${i} /mnt/etc/X11/sessions/ - done - else - error "$scfg_vmchs" nonfatal - fi - # we configured vmware, so we can delete the not_configured file - rm /mnt/etc/vmware/not_configured 2>/dev/null - - # copy dhcpd.conf and nat for vmnet8 (nat) - # fixme: It should be possible to start just one vmware dhcp which should - # listen to both interfaces vmnet1 and vmnet8 ... - cp /mnt/var/lib/vmware/templates/dhcpd.conf \ - /mnt/etc/vmware/vmnet8/dhcpd 2>/dev/null - cp /mnt/var/lib/vmware/templates/nat.conf \ - /mnt/etc/vmware/vmnet8/nat 2>/dev/null -fi - ############################################################################# # preparation of /tmp directory (partition 44, nfs scratch, ramdisk). there # might be the chance that we have a disk partition available, so wait for @@ -456,6 +309,8 @@ if [ -n "$scratch" -a -z "$tmpisdisk" ] ; then umount /mnt/tmp >/dev/null 2>&1 mount -t nfs -o rw,tcp,nolock,intr,nodev,soft,timeo=2,nosuid \ ${tmpserv}:${tmppath}/${clientip} /mnt/tmp >/dev/null 2>&1 + # somehow we need to move it to the vmware plugin. Any ideas + # how to handle the dependencies? # create an empty container file for vmware *.vmem, it does not # like to live on NFS exports if [ "x$vmware" != "x" -a "x$vmware" != "xno" ] ; then -- cgit v1.2.3-55-g7522