On 02/16/2012 09:15 AM, Dave Young wrote: > On 02/15/2012 04:23 PM, Harald Hoyer wrote: > >> Am 15.02.2012 07:40, schrieb Dave Young: >>> Manually setuping nic through udev is not always done when >>> we want network access. Here add a function wait_for_route_ok to >>> wait and make sure the network is accesible >>> >>> Signed-off-by: Dave Young <dyoung@xxxxxxxxxx> >>> --- >>> modules.d/99base/dracut-lib.sh | 11 +++++++++++ >>> 1 files changed, 11 insertions(+), 0 deletions(-) >>> >>> diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh >>> index 85d4925..c85a019 100755 >>> --- a/modules.d/99base/dracut-lib.sh >>> +++ b/modules.d/99base/dracut-lib.sh >>> @@ -392,6 +392,17 @@ wait_for_if_up() { >>> return 1 >>> } >>> >>> +wait_for_route_ok() { >>> + local cnt=0 >>> + while [ $cnt -lt 200 ]; do >>> + li=$(ip route show) >>> + [[ "$li" =~ "$1" ]] && return 0 >>> + sleep 0.1 >>> + cnt=$(($cnt+1)) >>> + done >>> + return 1 >>> +} >>> + >>> # root=nfs:[<server-ip>:]<root-dir>[:<nfs-options>] >>> # root=nfs4:[<server-ip>:]<root-dir>[:<nfs-options>] >>> nfsroot_to_var() { >> >> >> $ li=$(ip route show) >> $ [[ "$li" =~ "$1" ]] && echo OK >> dash: 6: [[: not found >> >> Please do not use "bash" syntax > > > For this issue, similar with the wait_for_if_up, > Probably when this scripts is called `ip route show` show nothing > because there's still no route added. In this case we should not > return 0 > > I will update the two patch like "[ -z "${li##*state UP*}" ]", > and check [ -z "$li" ] as well for the nul case Hmm, for the wait_for_if_up, pass an unexisted nic is a rare case, So I only resent the v2 patch of wait_for_route_ok. Harald, could you apply the 1/3 and the v2 of 3/3? > >> -- >> To unsubscribe from this list: send the line "unsubscribe initramfs" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html > > > -- Thanks Dave -- To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html