Is systemd-networkd necessary on the Librem 5? (PureOS)

Today I randomly wanted to improve boot time for my Librem 5. So I checked via system-analyze for services that would delay the boot process. I noticed that NetworkManager and systemd-networkd were both enabled and both were waiting for network communication to succeed.

Is this correct or has this been added sometime in development for debugging? Because systemd-networkd-wait-online was listed as potentially running for two minutes. So I naturally disabled that. NetworkManager was still enabled anyway and it was making sure everything functions. I checked whether my changes caused any issue so far. But modem seems to work fine, WiFi as well. So why is systemd-networkd even enabled?

Maybe anyone here knows because I couldn’t find any strong information on this yet. But online I found that you could (without issue) disable systemd-networkd as a whole to disable the waiting service as well while NetworkManager was utilized. Also my intuition tells me there shouldn’t be two network manager running if one alone covers all needs.

1 Like

The two things that I would check are:

  • Look at the (large number of) directories where config files for systemd-networkd may reside to see whether any config file is specifying something relevant.
  • Consider all the startup functionality that may depend on having the network up, both clients and servers. The point is that if a service depends on the systemd-networkd service then it doesn’t matter what the NetworkManager service does. The first service will still fail to start. (As an example, I would check whether automatic software updates are still happening, assuming that you even want that. As a further example, I would check the dependency for the ssh service, assuming that you even have the SSH server running.)

If the answer to both things is “none” then you should be OK.

At the end of the day, it is always down to having a valid backup, making the change … and seeing what breaks. :wink:

2 Likes