For some time, I have had a problem that booting with systemd enabled never completed. I had not had a chance to debug that issue until today, when I was forced to do it. After a 'zypper up' on October 13, I was no longer able to select SystemV using either "init=/sbin/init" in the GRUB options line, nor with F5. GRUB seems to do the right thing but the console log indicates that systemd is running.
From a Fedora article on debugging systemd, I discovered the boot commands to enable a log level of "debug". From that, I could see that the NFS mounts were failing.
The problem is as follows: My network connection uses wireless with NetworkManager and the KDE plasmoid applet, thus no connection is made until a user has logged in. However, systemd will not proceed until the NFS volumes are mounted, and there is an impasse. I allowed the system to sit for nearly 2 hours, and it never finished booting.
The patch to /etc/init.d/nfs shown below is a workaround. It places the NFS mount in the background so that it is completed when the network is up, but booting can continue.
Index: etc/init.d/nfs =================================================================== --- etc.orig/init.d/nfs +++ etc/init.d/nfs @@ -244,7 +244,8 @@ case "$1-$nfs" in # of them. So always 'settle' if there is any mounting to do. echo -n "Mounting network file systems ..." udevadm settle - mount -at nfs,nfs4 || rc_failed 1 + sleep 2 && mount -at nfs,nfs4 & + sleep 2 rc_status -v fi #
My change might not work when some of the system's files are contained on NFS volumes. I have no way to test, but the patch does make my system usable again.