summaryrefslogtreecommitdiffstats
path: root/initrd/initrd-stuff
diff options
context:
space:
mode:
authorDirk von Suchodoletz2006-03-25 01:44:23 +0100
committerDirk von Suchodoletz2006-03-25 01:44:23 +0100
commit58f6fae954426db04c221be1377786afdccea3f7 (patch)
treef52d890438648bad9295e7614f6bc9a50620f150 /initrd/initrd-stuff
parentintegration of vmware module. hw modules to ignore for loading ... (diff)
downloadcore-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-xinitrd/initrd-stuff/bin/servconfig13
-rw-r--r--initrd/initrd-stuff/etc/machine-setup8
-rw-r--r--initrd/initrd-stuff/etc/vmware-prep25
-rwxr-xr-xinitrd/initrd-stuff/init19
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