https://bugzilla.suse.com/show_bug.cgi?id=1198668 https://bugzilla.suse.com/show_bug.cgi?id=1198668#c11
Michal Koutn� mkoutny@suse.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mkoutny@suse.com
--- Comment #11 from Michal Koutn� mkoutny@suse.com --- Quick check would be
systemctl show -p Before purge-kernels.service
(possibly traverse further until you reach systemd-user-sessions.service or default.target (graphical.target))
Alternatively, you may find the ordering path(s) in a plot
systemd-analyze dot --order | dot -Tsvg >systemd.svg
(warning: kind of firehose drinking)
Thirdly, I can see the purge-kernels.service is of Type=oneshot, which means it'll block subsequent jobs until the ExecStart= command finishes. Not sure if there's actually necessity to wait after kernel removal is done, the Type=simple or Type=exec would only wait for the command start and the removal may run in parallel (even with jobs that specify After=purge-kernels.service).
Additionally, there may be extra-systemd implicit dependency (such as the zypper lock) that prevents boot progression.