networkd is not bringing eth0 up at boot
Solution 1:
The reason why adding a stanza to /etc/networking/interfaces
solves your problem is that you have the networking.service
enabled. If you look at the networking.service
file, you will see (partly edited):
[Unit]
SourcePath=/etc/init.d/networking
Description=LSB: Raise network interfaces.
.....
[Service]
.....
ExecStart=/etc/init.d/networking start
ExecStop=/etc/init.d/networking stop
ExecReload=/etc/init.d/networking reload
which clearly shows this is the service that provides compatibility with the old SysV script, which you wish to avoid.
Though this is not clearly stated anywhere (that I could find!), my guess is that this conflicts with systemd-networkd.service
, which can provide exactly the same service, albeit without the compatibility with SysV.
So my guess is to disable networking
, and to reboot to check that this is (the only piece of) the solution.