diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2021-05-21 10:53:25 +0200 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2021-05-22 15:58:40 +0900 |
commit | fe7f113c1331e11af4e9f815d7305c8b1b332312 (patch) | |
tree | 1fe72022a3fdf5b60abacc31f8412ecca1b5bc2f /units | |
parent | 05576809194754989f88f83c7104341c35944546 (diff) | |
download | systemd-fe7f113c1331e11af4e9f815d7305c8b1b332312.tar.gz |
units: skip some units in the initrd
I'm working on building initramfs images directly from normal packages, and it
doesn't make sense for those units to be started. Pristine system rpms need to
behave correctly as much as possible also in the initrd, and those units are
enabled by the rpms. There usually isn't enough time for the timer to actually
fire, but starting it gives a line on the console and generally looks confusing
and sloppy. Flushing the journal means that its actually lost, since the real
/var is not available yet.
Another approach would be not enable those units, but right now they are
statically enabled, and changing that would be more work, and doesn't really
seem necessary, since the condition checks are very quick.
Checking for /etc/initrd-release is the standard condition that the initrd
units use, so let's do the same here.
Diffstat (limited to 'units')
-rw-r--r-- | units/systemd-journal-flush.service | 1 | ||||
-rw-r--r-- | units/systemd-random-seed.service.in | 1 | ||||
-rw-r--r-- | units/systemd-tmpfiles-clean.timer | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/units/systemd-journal-flush.service b/units/systemd-journal-flush.service index 1a71592b93..6423f6ea80 100644 --- a/units/systemd-journal-flush.service +++ b/units/systemd-journal-flush.service @@ -15,6 +15,7 @@ Requires=systemd-journald.service After=systemd-journald.service systemd-remount-fs.service Before=systemd-tmpfiles-setup.service RequiresMountsFor=/var/log/journal +ConditionPathExists=!/etc/initrd-release [Service] ExecStart=journalctl --flush diff --git a/units/systemd-random-seed.service.in b/units/systemd-random-seed.service.in index 5c542ec846..1aa9af9710 100644 --- a/units/systemd-random-seed.service.in +++ b/units/systemd-random-seed.service.in @@ -17,6 +17,7 @@ After=systemd-remount-fs.service Before=first-boot-complete.target shutdown.target Wants=first-boot-complete.target ConditionVirtualization=!container +ConditionPathExists=!/etc/initrd-release [Service] Type=oneshot diff --git a/units/systemd-tmpfiles-clean.timer b/units/systemd-tmpfiles-clean.timer index 6c6cfe7a08..310cfe28e3 100644 --- a/units/systemd-tmpfiles-clean.timer +++ b/units/systemd-tmpfiles-clean.timer @@ -10,6 +10,7 @@ [Unit] Description=Daily Cleanup of Temporary Directories Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8) +ConditionPathExists=!/etc/initrd-release [Timer] OnBootSec=15min |