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.
[Unit]
Description=Automatic Boot Loader Update
Documentation=man:bootctl(1)
+ConditionPathExists=!/etc/initrd-release
DefaultDependencies=no
After=local-fs.target
[Unit]
Description=Load/Save RF Kill Switch Status
Documentation=man:systemd-rfkill.service(8)
+ConditionPathExists=!/etc/initrd-release
+
DefaultDependencies=no
BindsTo=sys-devices-virtual-misc-rfkill.device
Conflicts=shutdown.target
[Unit]
Description=Load/Save RF Kill Switch Status /dev/rfkill Watch
Documentation=man:systemd-rfkill.socket(8)
+ConditionPathExists=!/etc/initrd-release
DefaultDependencies=no
BindsTo=sys-devices-virtual-misc-rfkill.device
[Unit]
Description=Record Runlevel Change in UTMP
Documentation=man:systemd-update-utmp-runlevel.service(8) man:utmp(5)
+ConditionPathExists=!/etc/initrd-release
+
DefaultDependencies=no
RequiresMountsFor=/var/log/wtmp
Conflicts=shutdown.target
[Unit]
Description=Record System Boot/Shutdown in UTMP
Documentation=man:systemd-update-utmp.service(8) man:utmp(5)
+ConditionPathExists=!/etc/initrd-release
DefaultDependencies=no
After=systemd-remount-fs.service systemd-tmpfiles-setup.service auditd.service