diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2019-09-18 12:01:41 +0200 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2019-09-25 23:44:01 +0900 |
commit | 508133917d9628f8c0adc5db34d595196b72b1c8 (patch) | |
tree | 5c5f6acb60a8ae3154e5540a22ba095272bc08c2 /units | |
parent | 182a7df57d5cdc40559c564fe38d2d6773f3c62e (diff) | |
download | systemd-508133917d9628f8c0adc5db34d595196b72b1c8.tar.gz |
units: make systemd-binfmt.service easier to work with no autofs
See https://bugzilla.redhat.com/show_bug.cgi?id=1731772:
when autofs4 is disabled in the kernel,
proc-sys-fs-binfmt_misc.automount is not started, so the binfmt_misc module is
never loaded. If we added a dependency on proc-sys-fs-binfmt_misc.mount
to systemd-binfmt.service, things would work even if autofs4 was disabled, but
we would unconditionally pull in the module and mount, which we don't want to do.
(Right now we ony load the module if some binfmt is configured.)
But let's make it easier to handle this case by doing two changes:
1. order systemd-binfmt.service after the .mount unit (so that the .service
can count on the mount if both units are pulled in, even if .automount
is skipped)
2. add [Install] section to the service unit. This way the user can do
'systemctl enable proc-sys-fs-binfmt_misc.mount' to get the appropriate behaviour.
Diffstat (limited to 'units')
-rw-r--r-- | units/proc-sys-fs-binfmt_misc.mount | 3 | ||||
-rw-r--r-- | units/systemd-binfmt.service.in | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/units/proc-sys-fs-binfmt_misc.mount b/units/proc-sys-fs-binfmt_misc.mount index 66229ec78e..1587853e1e 100644 --- a/units/proc-sys-fs-binfmt_misc.mount +++ b/units/proc-sys-fs-binfmt_misc.mount @@ -18,3 +18,6 @@ What=binfmt_misc Where=/proc/sys/fs/binfmt_misc Type=binfmt_misc Options=nosuid,nodev,noexec + +[Install] +WantedBy=sysinit.target diff --git a/units/systemd-binfmt.service.in b/units/systemd-binfmt.service.in index e940c7c9ad..0c0f26451b 100644 --- a/units/systemd-binfmt.service.in +++ b/units/systemd-binfmt.service.in @@ -15,6 +15,7 @@ Documentation=https://www.freedesktop.org/wiki/Software/systemd/APIFileSystems DefaultDependencies=no Conflicts=shutdown.target After=proc-sys-fs-binfmt_misc.automount +After=proc-sys-fs-binfmt_misc.mount Before=sysinit.target shutdown.target ConditionPathIsReadWrite=/proc/sys/ ConditionDirectoryNotEmpty=|/lib/binfmt.d |