X-Git-Url: http://git.grml.org/?p=live-boot-grml.git;a=blobdiff_plain;f=components%2F9990-networking.sh;h=8e059c9f0d2b414884380bb70d875de2690de4be;hp=9613364579763f688ba4b70e70a6bd95d61c4d16;hb=d28948564d021736022c4e1eb456259fe3aa1eb3;hpb=6f465ddc145fb527215865ed042875d231d8dcfd diff --git a/components/9990-networking.sh b/components/9990-networking.sh index 9613364..8e059c9 100755 --- a/components/9990-networking.sh +++ b/components/9990-networking.sh @@ -89,25 +89,15 @@ do_netsetup () devlist="$devlist $device" done - # this is tricky (and ugly) because ipconfig sometimes just hangs/runs into - # an endless loop; if execution fails give it two further tries, that's - # why we use '$devlist $devlist $devlist' for the other for loop - for dev in $devlist $devlist $devlist + for dev in $devlist do echo "Executing ipconfig -t $ETHDEV_TIMEOUT $dev" - ipconfig -t "$ETHDEV_TIMEOUT" $dev | tee -a /netboot.config & - jobid=$! - sleep "$ETHDEV_TIMEOUT" ; sleep 1 - if [ -r /proc/"$jobid"/status ] - then - echo "Killing job $jobid for device $dev as ipconfig ran into recursion..." - kill -9 $jobid - fi + ipconfig -t "$ETHDEV_TIMEOUT" $dev | tee -a /netboot.config # if configuration of device worked we should have an assigned # IP address, if so let's use the device as $DEVICE for later usage. # simple and primitive approach which seems to work fine - if ifconfig $dev | grep -q 'inet.*addr:' + if ifconfig $dev | grep -q -E 'inet.*addr:|inet [0-9][0-9]*.[0-9][0-9]*.[0-9][0-9]*.[0-9][0-9]*' then export DEVICE="$dev" break