My work system is a pretty beefy one! And since it’s got an SSD, I was bugged by the slow boot-up time that I was experiencing on Fedora 32.

This morning I kind of felt like “enough is enough” and checked what was causing it by doing systemd-anaylze blame on the terminal.

Top two services that took 10+ seconds were systemd-udev-settle.service and NetworkManager-wait-online.service. I had recently installed Fedora 32 and, these services were enabled by default by Fedora; not by me.

I did a bit of searching and found that man page of systemd-udev-settle.service recommends to not start it up since it could take a long time and that the kernel does hardware detection asynchronously. Plus, as per the same man page, there’s no guarantee that hardware is fully discovered at any specific time. Equipped with this info, I disabled the service. It didn’t really get disabled and when I checked systemd-analyze blame after reboot, I could still see it there. So I simply modified its .service file at /usr/lib/systemd/system/systemd-udev-settle.service to timeout after 1 second.

Next up was NetworkManager-wait-online.service. A little searching around made it clear that it was simply waiting for the network to be available. In this case, I’m assuming, it was waiting while the laptop authenticates and connects with the Wi-Fi. I disabled it because it’s a task that could easily happen in the background while I’m logging into the system.

Voilà! After disabling these two services the system boot-up time was way more acceptable than what it had been since I had installed Fedora 32 afresh. 😉