[Buildroot] [PATCH] package/skeleton: add a startup script to wait for slow network interfaces

Peter Korsgaard peter at korsgaard.com
Sun Oct 4 08:23:34 UTC 2015


>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni at free-electrons.com> writes:

 > Hello,
 > On Sat,  3 Oct 2015 14:31:45 +0100, Yann E. MORIN wrote:

 >> +    printf "Waiting for interface %s to appear" "${IF}"
 >> +    wait=${WAIT_DELAY}
 >> +    while [ ${wait} -gt 0 ]; do
 >> +        if [ -e "/sys/class/net/${IF}" ]; then
 >> +            printf " yes\n"
 >> +            return 0
 >> +        fi
 >> +        sleep 1
 >> +        printf "."
 >> +        : $((wait--))
 >> +    done

 > One thing that I really like in Buildroot is that by default, it
 > generates you a system that boots really fast. People often don't have
 > to do anything special with Buildroot to make it boot fast. So having a
 > shell script that is installed by default and does a "sleep 1" in a
 > loop is not very nice :-/

 > Though I agree that it will only slow the boot on systems where the
 > network interfaces are not available immediately at boot time.

Or where you misconfigured /etc/network/interfaces or forgot to enable
the needed drivers in the kernel, but yeah.

But yes, using something like ifplugd to handle the interface when it
shows up (or link state changes) is certainly nicer than just waiting.

-- 
Bye, Peter Korsgaard



More information about the buildroot mailing list