If systemctl is used in a generator, it causes a deadlock which eventually resolves when the bus connection request times out. But meanwhile, it prevents systemd from starting up. A generator like following will cause deadlock. #!/bin/sh -e . /etc/conf.d/iptables if [ $IPTABLES_ENABLED = yes ]; then systemctl --runtime --no-reload enable ip-filter.service else systemctl --runtime --no-reload disable ip-filter.service fi
You may not use systemctl or anything like that in generators. That's simply not supported. http://www.freedesktop.org/wiki/Software/systemd/Generators/ "Since generators are run very early at boot they cannot rely on any external services. They may not talk to any other process." I'll add a note that makes explicitly clear that systemd itself is also one of those external services.
Thanks that would be my guess and I wanted to open a bug so we can improve documentation.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.