[systemd-devel] Boot ordering

Uoti Urpala uoti.urpala at pp1.inet.fi
Fri Mar 20 08:44:15 PDT 2015


On Fri, 2015-03-20 at 10:24 +0300, Andrei Borzenkov wrote:
> On Fri, Mar 20, 2015 at 1:56 AM, Kai Krakow <hurikhan77 at gmail.com> wrote:
> > The point is: Let's just find out why the "intuitive" way to solve the OPs
> > problem doesn't work out and find the right solution. Let's face it: Trying
> > to use targets as sysvinit runlevels equivalent is obviously not the working
> > way although it looks promising and intuitive at first
> 
> sysinit.target and basic.target are exact equivalent of sysvinit
> runlevels - they are hard serialization points between groups of
> services so that systemd will not proceed with next group until all
> services in previous group are started. The difference is that these

No, they are not hard serialization points. As I already mentioned in
another part of this thread, it's perfectly possible for a service
pulled in by multi-user.target to run before basic.target completes. The
only reason that's not very typical is that most services use
DefaultDependencies=yes unless they're specifically designed for early
boot. But if a service has been written with DefaultDependencies=no (for
example because it _could_ be a dependency of some other early-boot
service in certain specific configurations) then it's quite normal for
it to start before basic.target, even if the service is only part of
multi-user.target.




More information about the systemd-devel mailing list