From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 2/3] skeleton: optionally wait for network interfaces to appear
Date: Wed, 28 Oct 2015 18:46:53 +0100 [thread overview]
Message-ID: <20151028174653.GA3650@free.fr> (raw)
In-Reply-To: <1446047943-24641-3-git-send-email-jezz@sysmic.org>
J?r?me, All,
On 2015-10-28 16:59 +0100, J?r?me Pouiller spake thusly:
> This patch has same purpose than 49964858f45d2243c513e6d362e992ad89ec7a45:
>
> On some machines, the network interface is slow to appear. For example,
> on the Raspberry Pi, the network interface eth0 is an ethernet-over-USB,
> and our standard boot process is too fast, so our network startup script
> is called before the USB bus is compeltely enumerated, thus it can't
> configure eth0.
>
> Closes #8116.
>
> However, it use an optionnal ifupdown hook instead of an initscript.
>
> Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
> ---
> system/skeleton/etc/network/if-pre-up.d/wait_iface | 28 ++++++++++++++++++++++
> 1 file changed, 28 insertions(+)
> create mode 100755 system/skeleton/etc/network/if-pre-up.d/wait_iface
>
> diff --git a/system/skeleton/etc/network/if-pre-up.d/wait_iface b/system/skeleton/etc/network/if-pre-up.d/wait_iface
> new file mode 100755
> index 0000000..4f0866b
> --- /dev/null
> +++ b/system/skeleton/etc/network/if-pre-up.d/wait_iface
> @@ -0,0 +1,28 @@
> +#!/bin/sh
> +
> +# In case we have a slow-to-appear interface (e.g. eth-over-USB),
> +# and we need to configure it, wait until it appears, but not too
> +# long either. IF_WAIT_DELAY is in seconds.
> +
> +if [ "${IF_WAIT_DELAY}" ]; then
> +
Please drop the empty lines.
Also, I would have preferred patches 2 & 3 to be folded into a single
patch. I don't really understand how it all works:
- does the busybox ifup-down and full-fledged ifup-down support
wait-delay?
- I looked at man 5 interfaces, and there is no mention of wait-delay,
- I don't see how 'wait-delay' translates to 'wait_iface'
- I guess 'wait-delay' is made an environment variable IF_WAIT_DELAY
before the script is run, but I'd have preferred explanations rather
than having to guess.
Care to shed some light, please?
Otherwise, the idea looks fine to me. Thanks! :-)
Regards,
Yann E. MORIN.
> + printf "Waiting for interface %s to appear" "${IFACE}"
> + while [ ${IF_WAIT_DELAY} -gt 0 ]; do
> +
> + if [ -e "/sys/class/net/${IFACE}" ]; then
> +
> + printf " yes\n"
> + exit 0
> +
> + fi
> + sleep 1
> + printf "."
> +
> + : $((IF_WAIT_DELAY -= 1))
> +
> + done
> + printf " no.\n"
> + exit 1
> +
> +fi
> +
> --
> 2.1.4
>
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2015-10-28 17:46 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-28 15:59 [Buildroot] [PATCH 0/3] Alternative way to wait interfaces on bootup Jérôme Pouiller
2015-10-28 15:59 ` [Buildroot] [PATCH 1/3] Revert "package/initscripts: S40network: wait for network interfaces to appear" Jérôme Pouiller
2015-10-28 15:59 ` [Buildroot] [PATCH 2/3] skeleton: optionally wait for network interfaces to appear Jérôme Pouiller
2015-10-28 17:46 ` Yann E. MORIN [this message]
2015-10-28 20:21 ` Jérôme Pouiller
2015-10-28 21:37 ` Yann E. MORIN
2015-10-28 21:51 ` Peter Korsgaard
2015-10-28 21:57 ` Yann E. MORIN
2015-10-28 22:15 ` Peter Korsgaard
2015-10-29 7:53 ` Nicolas Cavallari
2015-10-29 8:08 ` Nicolas Cavallari
2015-10-28 15:59 ` [Buildroot] [PATCH 3/3] skeleton: wait interface to appear if dhcp is enabled Jérôme Pouiller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20151028174653.GA3650@free.fr \
--to=yann.morin.1998@free.fr \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox