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. 😉