diff options
author | Dirk von Suchodoletz | 2006-03-25 01:44:23 +0100 |
---|---|---|
committer | Dirk von Suchodoletz | 2006-03-25 01:44:23 +0100 |
commit | 58f6fae954426db04c221be1377786afdccea3f7 (patch) | |
tree | f52d890438648bad9295e7614f6bc9a50620f150 /initrd/initrd-stuff | |
parent | integration of vmware module. hw modules to ignore for loading ... (diff) | |
download | core-58f6fae954426db04c221be1377786afdccea3f7.tar.gz core-58f6fae954426db04c221be1377786afdccea3f7.tar.xz core-58f6fae954426db04c221be1377786afdccea3f7.zip |
move vm-mount into InitRD, heavy cleanups in initial ramdisk
environment, ...
git-svn-id: http://svn.openslx.org/svn/openslx/ld4@127 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'initrd/initrd-stuff')
-rwxr-xr-x | initrd/initrd-stuff/bin/servconfig | 13 | ||||
-rw-r--r-- | initrd/initrd-stuff/etc/machine-setup | 8 | ||||
-rw-r--r-- | initrd/initrd-stuff/etc/vmware-prep | 25 | ||||
-rwxr-xr-x | initrd/initrd-stuff/init | 19 |
4 files changed, 39 insertions, 26 deletions
diff --git a/initrd/initrd-stuff/bin/servconfig b/initrd/initrd-stuff/bin/servconfig index d7f784c0..6de5ba48 100755 --- a/initrd/initrd-stuff/bin/servconfig +++ b/initrd/initrd-stuff/bin/servconfig @@ -4,7 +4,7 @@ # for linux diskless clients (executed within initial # ramdisk) # -# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 23-03-2006 +# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 25-03-2006 # Blabla # Blub # @@ -54,7 +54,7 @@ data via dhcp until now ..." nonfatal . /etc/machine-setup # hack for replacing variables ($serverip, $clientip, $host_name) in # machine-setup -sed -e "s/\$serverip/$serverip/" -e "s/\$clientip/$clientip/" \ +sed -e "s/\$serverip/$serverip/;s/\$clientip/$clientip/" \ /etc/machine-setup > /etc/machine-setup.new cp /etc/machine-setup.new /etc/machine-setup . /etc/machine-setup @@ -191,6 +191,15 @@ config_snmp 24 02 # create needed directories and files if [ "x$vmware" != "x" ] || [ "x$vmware" != "xno" ] ; then + # in the future other types of sources besides NFS should be supported + mount -t nfs -o ro,nolock,intr,nodev,soft,timeo=2,nosuid \ + ${imgsrv} /mnt/${vmdir} & + # generate a runlevel script + d_mkrlscript init vmware-prep "Starting preparation of vmware environment" + sed "s,^#.*,,;/^$/d;s,^,\t," /etc/vmware-prep >> \ + /mnt/etc/${D_INITDIR}/vmware-prep + d_mkrlscript close vmware-prep "" + chmod u+x /mnt/etc/${D_INITDIR}/vmware-prep config_vmware for i in /var/lib/vmware /etc/vmware/vmnet1 /etc/vmware/vmnet8 \ /var/run/vmware ; do diff --git a/initrd/initrd-stuff/etc/machine-setup b/initrd/initrd-stuff/etc/machine-setup index 232d727c..24e754c5 100644 --- a/initrd/initrd-stuff/etc/machine-setup +++ b/initrd/initrd-stuff/etc/machine-setup @@ -85,14 +85,14 @@ netbios_workgroup="dxs-network" # automounter home (/local_dir - top level directories only) and source # (server:/path) automnt_dir="/home" -automnt_src="10.8.4.254:/home" +automnt_src="$serverip:/home" # scratch space on server -scratch="132.230.4.71:/dxs/tmp" +scratch="$serverip:/dxs/tmp" # configure and start vmware services -vmware="yes" -imgsrv="132.230.4.71:/dxs/vmware" +vmware="no" +imgsrv="$serverip:/dxs/vmware" # kind of X11 display manager to run start_xdmcp="xdm" diff --git a/initrd/initrd-stuff/etc/vmware-prep b/initrd/initrd-stuff/etc/vmware-prep index e2eec061..4421a1c5 100644 --- a/initrd/initrd-stuff/etc/vmware-prep +++ b/initrd/initrd-stuff/etc/vmware-prep @@ -1,14 +1,15 @@ #!/bin/sh # -# Description: Adaptation of a generic runlevel script file for use with +# Description: Kernel of a generic runlevel script file for use with # Diskless X Stations (v4.0) - script prepares vmware -# environment +# environment. Start and stop functionality is added within +# initial ramdisk # # Author(s): Michael Janczyk <mj0@uni-freiburg.de>, 23-03-2006 -# Dirk von Suchodoletz <dirk@goe.net>, 08-03-2006 +# Dirk von Suchodoletz <dirk@goe.net>, 25-03-2006 # Copyright: (c) 2003, 2006 - RZ Universitaet Freiburg # -# Version: 0.1a +# Version: 0.1b ################################################################################ @@ -74,13 +75,14 @@ Xpath () { # blabla sessiondinens 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 + os=\$(echo \$0 | sed -e \"s,-, ,;s,.*/,,\" | awk '{print \$1}') + spec=\$(echo \$0 | sed -e \"s,-, ,;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 + chmod a+x ${path}/desktop-session } @@ -102,10 +104,11 @@ vmsession2desktop_session () { ### START SCRIPT ############################################################### # create vmdir -mkdir -p /var/lib/vmware 2>&1 +#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 von zeugs (wohl besser in der InitRD, da sonst Sessions nicht +# rechtzeitig fuer gdm/kdm verfuegbar) +#mount -t nfs -o ro,nolock,intr,nodev,soft,timeo=2,nosuid ${imgsrv} ${vmdir} # device creation - the module does not trigger udev properly vmnet @@ -113,7 +116,7 @@ vmnet # special start script for vmware with predefined image Xpath -# loop file for exchanging information between linux and vmware +# loop file for exchanging information between linux and vmware guest mount_loop # blabla sessiondinens @@ -124,5 +127,5 @@ vmsession2desktop_session -exit 0 +#exit 0 diff --git a/initrd/initrd-stuff/init b/initrd/initrd-stuff/init index 4431ece3..7ac6c087 100755 --- a/initrd/initrd-stuff/init +++ b/initrd/initrd-stuff/init @@ -187,12 +187,12 @@ ipsetup 127.0.0.1 255.0.0.0 0.0.0.0 127.255.255.255 lo # analyze ip information from the kernel command line and put parts # of it into several variables if [ -n "$IPINFO" ] ; then - IP=`echo $IPINFO|sed -e "s,:.*,,"` - SERVER=`echo $IPINFO|sed -e "s;[0-9\.]\{3,\}:;;" -e "s,:.*,,"` - GW=`echo $IPINFO|sed -e "s;[0-9\.]\{3,\}:[0-9\.]\{3,\}:;;" -e "s,:.*,,"` + IP=`echo $IPINFO|sed -e "s/:.*//"` + SERVER=`echo $IPINFO|sed -e "s/[0-9\.]\{3,\}://;s/:.*//"` + GW=`echo $IPINFO|sed -e "s/[0-9\.]\{3,\}:[0-9\.]\{3,\}://;s/:.*//"` # remove last colon after netmask if it was left there ... - IPINFO=`echo $IPINFO|sed -e "s,:$,,"` - NM=`echo $IPINFO|sed -e "s,.*:,,"` + IPINFO=`echo $IPINFO|sed -e "s/:$//"` + NM=`echo $IPINFO|sed -e "s/.*://"` echo -e "# ip configuration written by $0 script\nclientip=$IP\n\ sub_netmask=$NM\ngateway=$GW\nserverip=$SERVER" \ >>/etc/machine-setup @@ -368,7 +368,7 @@ else # run some specific stuff !? fi # script for stuff to execute during early bootup -d_mkbootld init +d_mkrlscript init boot.ld "Running post configuration required by init" echo "fs complete" >/tmp/fscmpl # write debug file information after filesystem setup completed @@ -420,13 +420,11 @@ and list the modules loaded until\n now." waitfor /tmp/svcfg 20000 || error " For some reason the software config \ of this client did not finish in\n time. You might check the process list \ and list the modules loaded until\n now." -# close runlevel script for stuff to execute during early bootup -d_mkbootld close # IP configuration is made and should not be updated automatically, udevd # should be killed if started within init killall -9 dhcpcd dhclient pump 2>/dev/null -bash +[ $DEBUGLEVEL -gt 1 ] && sh # post init for some distro specific postinit @@ -442,6 +440,9 @@ failed for some reason. Some\n modprobe still active!?" # check for inittab file test -f /mnt/etc/inittab || error " The file /etc/inittab does not exist or \ is no regular one. It is needed\n for the bootup procedure to follow." +# close runlevel script for stuff to execute during early bootup +d_mkrlscript close boot.ld "" +# preparations to leave initrd - umounting ... umount -n /sys || error " Unmount of the kernel sys directory \ failed for some\nreason. You will get some error messages that some files \ could not be\n removed." nonfatal |