mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-24 11:46:30 +00:00
skeleton: optionally wait for network interfaces to appear
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, 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>
This commit is contained in:
parent
81ece45c3a
commit
ccc52c8183
@ -89,6 +89,7 @@ define SET_NETWORK_DHCP
|
||||
echo ; \
|
||||
echo "auto $(NETWORK_DHCP_IFACE)"; \
|
||||
echo "iface $(NETWORK_DHCP_IFACE) inet dhcp"; \
|
||||
echo " wait-delay 15"; \
|
||||
) >> $(TARGET_DIR)/etc/network/interfaces
|
||||
endef
|
||||
endif
|
||||
|
21
system/skeleton/etc/network/if-pre-up.d/wait_iface
Executable file
21
system/skeleton/etc/network/if-pre-up.d/wait_iface
Executable file
@ -0,0 +1,21 @@
|
||||
#!/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
|
||||
|
Loading…
x
Reference in New Issue
Block a user