Many Debian 12 systems experience a ~2-3 minute stall during boot, usually with messages such as:
A start job is running for Wait for Network to be Configured...
or
systemd-networkd-wait-online.service: Timeout occurred while waiting for network connectivity.
If this looks familiar, the delay is caused by the system waiting for the network to reach an “online” state — and failing only after the default timeout expires.
This article explains why this happens on Debian 12 and how to fix or disable the delay.
What is systemd-networkd-wait-online.service?
systemd-networkd-wait-online.service is part of systemd-networkd, the lightweight network configuration system built into systemd.
It is responsible for:
- Waiting for network interfaces to be configured
- Reporting the network as “online” to services that depend on network-online.target
By default, the service will wait up to 120 seconds for all interfaces managed by systemd-networkd to become “online”.
This timeout is the reason for the noticeable boot stall.
Why does Debian 12 often stall for 2–3 minutes?
1. Unused or unplugged network interfaces
If a system has multiple NICs (common on desktops, servers, VMs), systemd-networkd may wait for all of them, even if some are:
- unplugged
- unconfigured
- virtual and never intended to come up
One non-functional interface → 2-minute delay.
2. Interfaces not actually managed by systemd-networkd
Debian 12 does not use systemd-networkd by default. It uses:
- ifupdown on servers
- NetworkManager on desktops
But in many cases, the systemd-networkd-wait-online.service still gets enabled (e.g., by installing certain packages).
Then systemd-networkd waits even though it’s not controlling any interface — causing a full timeout.
3. Misconfigured .network files
If systemd-networkd is in use, an interface may remain stuck in:
- configuring (no carrier)
- configuring (dhcp)
This again produces a timeout.
4. Buggy behavior with multiple interfaces
Some systemd versions used in Debian 12 fail the online-check correctly when one interface is considered “down”, even if another is working.
This issue is known upstream and still shows up in Debian 12 deployments.
How to Fix or Reduce the Boot Delay
Option 1 — Disable the service entirely (safest for most Debian 12 systems)
If you are not using systemd-networkd (most users are not), disable the service:
sudo systemctl disable systemd-networkd-wait-online.service sudo systemctl mask systemd-networkd-wait-online.service
On typical Debian 12 desktops or servers (using ifupdown or NetworkManager), this is the recommended fix and causes no functional downside.
Option 2 — Reduce the timeout
Create an override:
sudo systemctl edit systemd-networkd-wait-online.service
Insert:
[Service] ExecStart= ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --timeout=20
Save & reload:
sudo systemctl daemon-reload
This changes the wait time from 120 → 20 seconds.
Option 3 — Wait only for a specific interface
If you only care about eth0, create an override:
sudo mkdir -p /etc/systemd/system/systemd-networkd-wait-online.service.d sudo nano /etc/systemd/system/systemd-networkd-wait-online.service.d/override.conf
Add:
[Service] ExecStart= ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --interface=eth0 --any
Then reload:
sudo systemctl daemon-reload
This prevents it from waiting on unused NICs.
Option 4 — Fix .network configuration (for actual systemd-networkd users)
Check the status:
networkctl
Ensure unused interfaces have:
RequiredForOnline=no
in their corresponding .network files.
Verifying the Fix
After applying changes, run:
systemctl status systemd-networkd-wait-online.service
and reboot:
sudo reboot
Boot should now proceed without a long wait.
Summary
On Debian 12, the 2–3 minute boot delay is almost always caused by systemd-networkd-wait-online.service waiting for interfaces that never come online.
Most systems do not use systemd-networkd → so it is safe to disable the service.
You can:
- Disable the service (recommended for most)
- Shorten the timeout
- Limit which interfaces the service waits for
- Fix network settings if you use systemd-networkd