On Mon, 06.09.10 19:44, Daniel Drake (d...@laptop.org) wrote: heya,
> After reading the systemd man pages, I believe I want it to start > after basic.target has fully started up, but before anything in > multi-user.target starts. And I want everything in multi-user.target > to await the completion of my script before starting. You probably need to stick this after local-fst.target+sysinit.target and before base.target. > So I came up with the olpc-configure.service: > > [Unit] > Description=olpc-configure > After=basic.target > Before=multi-user.target > > [Service] > Type=oneshot > ExecStart=/usr/bin/olpc-configure > > [Install] > WantedBy=multi-user.target > > > And it doesn't work :( > Through adding some logging, I can see that NetworkManager, X, HAL, > ... are all running during the execution of olpc-configure (I was > hoping they would wait). systemd actually tries to start things as early as possible, so the unit file would start it right after basic.target is done but make sure not to activate multi-user.target before it finished. That means it is run between basic.target and multi-user.target, and hence in parallel to all other normal services. All units by default are actually ordered so that they are run after "basic.target". If you have a special unit (and you do) that needs to be run very early at boot you must disable those implicit default dependencies by setting "DefaultDependencies=no" and adding the right ones manually. So you probably want something like this: <snip> [Unit] Description=OLPC Configuration DefaultDependencies=no After=sysinit.target local-fs.target Before=base.target [Service] Type=oneshot ExecStart=/usr/bin/olpc-configure [Install] WantedBy=base.target </snip> Lennart -- Lennart Poettering - Red Hat, Inc. _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel