http://bugzilla.opensuse.org/show_bug.cgi?id=1198668 http://bugzilla.opensuse.org/show_bug.cgi?id=1198668#c21 --- Comment #21 from Ulrich Windl <Ulrich.Windl@rz.uni-regensburg.de> --- systemd-analyze blame said (Leap 15.4): 3min 46.428s plymouth-quit-wait.service 3min 26.981s purge-kernels.service ... Startup finished in 813ms (kernel) + 15.409s (initrd) + 4min 7.745s (userspace) = 4min 23.968s graphical.target reached after 4min 7.705s in userspace However there are two things I don't understand, considering the unit file: # /usr/lib/systemd/system/purge-kernels.service [Unit] Description=Purge old kernels After=local-fs.target ConditionPathExists=/boot/do_purge_kernels ConditionPathIsReadWrite=/ [Service] Type=oneshot Nice=19 IOSchedulingClass=idle Environment=ZYPP_LOCK_TIMEOUT=-1 ExecStart=/usr/bin/zypper -n purge-kernels ExecStartPost=/bin/rm -f /boot/do_purge_kernels [Install] WantedBy=multi-user.target ------------ First which unit is waiting for this one to finish, and if waiting is intended, it makes little sense to use "Nice=19; IOSchedulingClass=idle" as this just makes the unit slower. I found it: /usr/lib/systemd/system/YaST2-Firstboot.service:After=purge-kernels.service /usr/lib/systemd/system/YaST2-Second-Stage.service:After=purge-kernels.service One comment says: # Run after kernels are purged to prevent a zypper lock (bsc#1196431) After=purge-kernels.service Well, but even if that unit has nothing to do it will delay the whole process in case there is something to do. -- You are receiving this mail because: You are on the CC list for the bug.