1
0
mirror of https://github.com/systemd/systemd synced 2025-10-06 00:13:24 +02:00

units: condition out a few services in the initrd

Let's make our units more robust to being added to an initrd:

1. systemd-boot-update only makes sense if sd-boot is available in /usr/
   to copy into the ESP. This is generally not the case in initrds, and
   even if it was, we shouldn't update the ESP from the initrd, but from
   the host instead.

2. The rfkill services save/restore rfkill state, but that information
   is only available once /var/ is mounted, which generally happens
   after the initrd transition.

3. utmp management is partly in /var/, and legacy anyway, hence don't
   bother with it in the initrd.
This commit is contained in:
Lennart Poettering
2023-07-04 22:31:11 +02:00
committed by Yu Watanabe
parent 9f6e0bd417
commit 49c55abcbe
5 changed files with 7 additions and 0 deletions

View File

@@ -10,6 +10,7 @@
[Unit] [Unit]
Description=Automatic Boot Loader Update Description=Automatic Boot Loader Update
Documentation=man:bootctl(1) Documentation=man:bootctl(1)
ConditionPathExists=!/etc/initrd-release
DefaultDependencies=no DefaultDependencies=no
After=local-fs.target After=local-fs.target

View File

@@ -10,6 +10,8 @@
[Unit] [Unit]
Description=Load/Save RF Kill Switch Status Description=Load/Save RF Kill Switch Status
Documentation=man:systemd-rfkill.service(8) Documentation=man:systemd-rfkill.service(8)
ConditionPathExists=!/etc/initrd-release
DefaultDependencies=no DefaultDependencies=no
BindsTo=sys-devices-virtual-misc-rfkill.device BindsTo=sys-devices-virtual-misc-rfkill.device
Conflicts=shutdown.target Conflicts=shutdown.target

View File

@@ -10,6 +10,7 @@
[Unit] [Unit]
Description=Load/Save RF Kill Switch Status /dev/rfkill Watch Description=Load/Save RF Kill Switch Status /dev/rfkill Watch
Documentation=man:systemd-rfkill.socket(8) Documentation=man:systemd-rfkill.socket(8)
ConditionPathExists=!/etc/initrd-release
DefaultDependencies=no DefaultDependencies=no
BindsTo=sys-devices-virtual-misc-rfkill.device BindsTo=sys-devices-virtual-misc-rfkill.device

View File

@@ -10,6 +10,8 @@
[Unit] [Unit]
Description=Record Runlevel Change in UTMP Description=Record Runlevel Change in UTMP
Documentation=man:systemd-update-utmp-runlevel.service(8) man:utmp(5) Documentation=man:systemd-update-utmp-runlevel.service(8) man:utmp(5)
ConditionPathExists=!/etc/initrd-release
DefaultDependencies=no DefaultDependencies=no
RequiresMountsFor=/var/log/wtmp RequiresMountsFor=/var/log/wtmp
Conflicts=shutdown.target Conflicts=shutdown.target

View File

@@ -10,6 +10,7 @@
[Unit] [Unit]
Description=Record System Boot/Shutdown in UTMP Description=Record System Boot/Shutdown in UTMP
Documentation=man:systemd-update-utmp.service(8) man:utmp(5) Documentation=man:systemd-update-utmp.service(8) man:utmp(5)
ConditionPathExists=!/etc/initrd-release
DefaultDependencies=no DefaultDependencies=no
After=systemd-remount-fs.service systemd-tmpfiles-setup.service auditd.service After=systemd-remount-fs.service systemd-tmpfiles-setup.service auditd.service