diff options
author | Dirk von Suchodoletz | 2008-08-26 00:53:37 +0200 |
---|---|---|
committer | Dirk von Suchodoletz | 2008-08-26 00:53:37 +0200 |
commit | 56f81077d58148e9ebea1acb1d74caf6f2ae8698 (patch) | |
tree | 2106baa730855a75adc458b4a9acf4ec8ea9fc0d /initramfs/stage3-stuff/init | |
parent | small bugfix, LD_PRELOAD or LD_LIBRARY_PATH does not seem to work :( (diff) | |
download | core-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-x | initramfs/stage3-stuff/init | 22 |
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 |