ccc52c8183
This patch has same purpose than 49964858f4
:
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, wait-delay hook is enabled only if wait-delay property appears
in /etc/network/interfaces. This patch enable it automaticaly when
interface is configured through DHCP at bootup. But, if user choose
to write /etc/network/interface himself, he have to explicitly
set wait-delay.
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
22 lines
576 B
Bash
Executable File
22 lines
576 B
Bash
Executable File
#!/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}" -a ! -e "/sys/class/net/${IFACE}" ]; then
|
|
printf "Waiting for interface %s to appear" "${IFACE}"
|
|
while [ ${IF_WAIT_DELAY} -gt 0 ]; do
|
|
if [ -e "/sys/class/net/${IFACE}" ]; then
|
|
printf "\n"
|
|
exit 0
|
|
fi
|
|
sleep 1
|
|
printf "."
|
|
: $((IF_WAIT_DELAY -= 1))
|
|
done
|
|
printf " timeout!\n"
|
|
exit 1
|
|
fi
|
|
|