[systemd-devel] [systemd] Add dbxtool to 90-default.present.

Lennart Poettering lennart at poettering.net
Fri Feb 20 07:49:38 PST 2015


On Fri, 20.02.15 10:33, Peter Jones (pjones at redhat.com) wrote:

> > This is wrong. efivarfs is an API file system that is not exposed as .mount
> > unit. It's always mounted by PID 1 early on, like /proc. Please remove.
> 
> Okay, that's definitely useful info.  Which piece of documentation
> should I have read to figure that out?

http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems/

We might want to move this into systemd.mount(5) one day...

> > basic.target is an early-boot target. If you want your service to run in
> > early boot, you need to set DEfaultDependencies=no, because your service is
> > otherwise started in late boot.
> 
> Alright; as I said on my mail before this one (that I assume you have
> not received yet when you wrote this), I'm not actually certain I care
> about that /at all/.  What defines "early" versus "late" boot?  I
> suspect I don't care and I could make this "Wants=" instead?

In late boot all the filesystems and basic setup is done. The file
systems are mounted and writable, and the execution environment set
up, the permissions and everything initialized.

DefaultDependencies=yes is the implied default and results in services
to be put in late boot, with the basic execution environment set up.

Basically, if you want to run in early boot, you need to be written in
very specific style, you may not assume that /var is around, that
anything but /run was writable, that any other mounts are around, or
sysctls set, or anything like that.

> To be honest The only thing I care about is that it gets run a) after
> the efivars mount, and b) before shutdown happens under normal cases.
> That is, I don't *really* care if it doesn't get run if the user is
> pounding on ctrl-alt-del the moment systemd starts.

OK, all services should really be late boot services, unless there's a
really strong reason to make them early-boot. Since that reason
doesn't exist for your service you should not use
DEfaultDependencies=no but you should use WantedBy=multi-user.target
in the [Install] section to make it enabable.

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list