[systemd-devel] Placing systemd unit files on a non-root partition

Lennart Poettering lennart at poettering.net
Wed Nov 8 12:49:45 UTC 2017


On Mi, 08.11.17 11:31, magnus at minimum.se (magnus at minimum.se) wrote:

> Hi!
> 
> My team is building a embedded (Linux) platform which is to be distributed
> within our company as a binary distribution. On top of the platform, other
> teams write applications and put in branding to create products.
> 
> To separate the applications from the platform, apps and related files are
> placed in a separate partition that gets mounted at boot by systemd.
> When the system boots, the applications on the separate partition should
> start, preferably by systemd.

The question is what "mounted at boot" precisely means.

sytemd is designed to calculate the initial transaction at boot, and
then ideally it boots all the way through to it. If you make units
available later, then the initial transaction isn't good enough, it
needs to be redone. Which is something you can do, but it's not
pretty, as you first need to tell systemd to reload its configuration,
and then enqueue whatever else new want to enqueue.

A much better approach is to have everything ready at the moment as
the host PID 1 is invoked, i.e. by placing everything on the root
disk, or mount the auxiliary disks already in the initrd, i.e. before
the system transitions to the host PID 1.

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list