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?

  • can you identify which module your eth0 uses? \n networking is supposed to wake up eth0 only after "modules" is called: \n depend() { \n need localmount \n after bootmisc hwdrivers modules <----- – FabioM Dec 28 '18 at 23:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.