I am using alpine, my primary distro for servers is Arch with NetworkManager or the built-in "netctl".
I installed Alpine onto a server. It boots up OK, but the networking never comes up on its own. It appears this is because the server boots so fast (login prompt in only 2s!). When the OpenRC init runs the networking script, the "eth0" device has not yet been initialized and thus is not yet available:
* Starting networking * lo ... * eth0 ... Cannot find device "eth0"
If I login as root at the console and execute
service networking start then networking comes up successfully. But obviously this is not suitable for a server which needs to be able to bring its networking back up on its own after a reboot.
I can further confirm because in
dmesg output, the Ethernet driver's initialization messages are the last to appear, with timestamps of 8 seconds (remember, login prompt appears in only 2 seconds).
How can I get OpenRC to wait for the device to be available before trying to bring the networking up - or at least background the process and keep trying to bring the interface up in the background while bootup continues?