Compare commits

...

2 Commits

Author SHA1 Message Date
Luca Boccassi a7fc94d59a
Merge db50a2b55c into 4b356c90dc 2024-11-23 09:53:56 -08:00
Luca Boccassi db50a2b55c man: beef up soft-reboot example unit
Note that journal sockets have to be mounted for softreboot surviving units,
as per thread on the ML, otherwise logging does not work afterwards:

https://lists.freedesktop.org/archives/systemd-devel/2024-June/050382.html

Remove the oneshot, as it didn't actually make sense for a sleep infinity.
And run in a separate image, to showcase that the unit should really be
disconnected from the rootfs.
2024-06-10 12:30:36 +01:00
1 changed files with 7 additions and 2 deletions

View File

@ -106,7 +106,10 @@
normal shutdown, reboot and maintenance mode. Finally, they have to be ordered after normal shutdown, reboot and maintenance mode. Finally, they have to be ordered after
<constant>basic.target</constant> to ensure correct ordering on boot. Note that in case any new or <constant>basic.target</constant> to ensure correct ordering on boot. Note that in case any new or
custom units are used to isolate to, or that implement an equivalent shutdown functionality, they will custom units are used to isolate to, or that implement an equivalent shutdown functionality, they will
also have to be configured manually for correct ordering and conflicting. For example:</para> also have to be configured manually for correct ordering and conflicting. In addition, to ensure the
service is disconnected from the rootfs resources (see next paragraph), it should run from a separate
image, but with the journal sockets mounted so that it is still allowed to log to the system journal.
For example:</para>
<programlisting>[Unit] <programlisting>[Unit]
Description=My Surviving Service Description=My Surviving Service
@ -118,7 +121,9 @@ Conflicts=reboot.target kexec.target poweroff.target halt.target rescue.target e
Before=shutdown.target rescue.target emergency.target Before=shutdown.target rescue.target emergency.target
[Service] [Service]
Type=oneshot RootImage=/var/lib/root.raw
TemporaryFileSystem=/run
BindReadOnlyPaths=/run/systemd/journal/socket /run/systemd/journal/stdout
ExecStart=sleep infinity</programlisting> ExecStart=sleep infinity</programlisting>
</listitem> </listitem>