summaryrefslogtreecommitdiffstats
path: root/initramfs/stage3-stuff/init
diff options
context:
space:
mode:
authorDirk von Suchodoletz2008-08-26 00:53:37 +0200
committerDirk von Suchodoletz2008-08-26 00:53:37 +0200
commit56f81077d58148e9ebea1acb1d74caf6f2ae8698 (patch)
tree2106baa730855a75adc458b4a9acf4ec8ea9fc0d /initramfs/stage3-stuff/init
parentsmall bugfix, LD_PRELOAD or LD_LIBRARY_PATH does not seem to work :( (diff)
downloadcore-56f81077d58148e9ebea1acb1d74caf6f2ae8698.tar.gz
core-56f81077d58148e9ebea1acb1d74caf6f2ae8698.tar.xz
core-56f81077d58148e9ebea1acb1d74caf6f2ae8698.zip
Fix for ip configuration (no ip= in cmdline), cleanup.
git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@2098 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'initramfs/stage3-stuff/init')
-rwxr-xr-xinitramfs/stage3-stuff/init22
1 files changed, 12 insertions, 10 deletions
diff --git a/initramfs/stage3-stuff/init b/initramfs/stage3-stuff/init
index 4fe62596..1cbee587 100755
--- a/initramfs/stage3-stuff/init
+++ b/initramfs/stage3-stuff/init
@@ -422,20 +422,20 @@ else
fi
# get configuration data via dhcp (with vendor code identifier if present
# in ${vci} from kernel command line or initramfs-setup) ...
-[ -z "$nodhcp" ] && ( rundhcp ${vci}
- waitfor /tmp/confviadhcp 20000
- echo "dhcp finished at $(sysup)" >/tmp/dhcp-done
- . /tmp/confviadhcp
+if [ -z "$nodhcp" ] ; then
+ ( rundhcp ${vci}; echo "dhcp finished at $(sysup)" >/tmp/dhcp-done ) &
if [ -n "$noipyet" ] ; then
+ waitfor /tmp/dhcp-done 20000
+ . /tmp/confviadhcp
# by now there should be a proper ip configuration present
- if [ -z "$clientip" -o -z "$subnet_mask" -o -z "$gateway" \
- -o -z "$broadcast_address" ] ; then
- error "$init_errdhcp"
+ if [ -z "$clientip" -o -z "$subnet_mask" -o -z "$gateway" -o \
+ -z "$broadcast_address" ] ; then error "$init_errdhcp"
else
- { ip addr add $clientip/$(ipcalc -s -p $clientip $subnet_mask) \
+ { ip addr add \
+ $clientip/$(ipcalc -s -p $clientip $subnet_mask|sed s/.*=//) \
broadcast $broadcast_address dev $nwif 2>/dev/null && \
ip route add default via $gateway 2>/dev/null; } || \
- error "$init_erripcfg"
+ error "$init_erripcfg"
fi
# fixme: to be checked!!
# else
@@ -445,10 +445,12 @@ fi
# error "$init_erripcfg"
# fi
# fi
- fi; ) &
+ fi
+fi
# check if serverip is set as variable @@@serverip@@@
sed "s,@@@serverip@@@,$serverip," -i /etc/initramfs-setup
[ $DEBUGLEVEL -eq 20 ] && echo "** finished ip config at $(sysup)"
+
# on some network adaptors we need to wait for the link to come up
dmesg | grep -q "link down" && for i in 1 1 1 1 ; do
dmesg | grep -q "link up" && break