I don’t think DHCP Watchdog is a good idea
It looks like there is a broken NetworkManager.service or some other service that is occupying the eth0 stack during boot, because it is not available dchcliet can’t properly access the interface, and only after some time.
first determine who exactly in the system is the DHCP client
ps aux | grep -Ei 'dhcp|udhcpc|dhclient|networkd|connman|NetworkManager'
then - systemctl --type=service | grep -Ei 'dhcp|network|connman|manager'
And separately:
I would start by investigating the services:
systemctl status systemd-networkd --no-pager
systemctl status NetworkManager --no-pager
systemctl status networking --no-pager
or what is dhcpclient you have.
I will show you further using an example from systemd-networkd
Immediately after reboot (having previously disabled all watchdogs and other “crutches”)
Send me screenshots (just don’t forget to blur your public IPs and other things, because it is not known who is reading here)
networkctl status eth0
journalctl -u systemd-networkd -b --no-pager
journalctl -u systemd-networkd -b --no-pager | grep -Ei 'dhcp|eth0|lease|carrier|link'
Then restart the dhcp client, and when the eth0 link is UP and send exactly the same commands and let me compare.