docs: document LUO support

This commit is contained in:
Luca Boccassi
2026-05-15 13:46:08 +01:00
parent 14f773ce5e
commit 0854ac48ef
3 changed files with 45 additions and 0 deletions
+25
View File
@@ -181,6 +181,31 @@ continuously).
For further details see [Resource
Pass-Through](https://www.freedesktop.org/software/systemd/man/latest/systemd-soft-reboot.service.html#Resource%20Pass-Through).
## Kernel Live Update (kexec)
On kernels that support the [Live Update
Orchestrator](https://docs.kernel.org/userspace-api/liveupdate.html)
(LUO), the fdstore may also be preserved across a `kexec`-based reboot into a
new kernel. This allows updating the kernel itself without losing pinned
resources such as serialized service state, analogous to soft reboot, but for
the kernel.
Only file descriptors that reference LUO-compatible kernel objects can be
preserved this way. Currently the kernel supports `memfd` only for LUO, but
more types are being worked on. Other kinds of file descriptors (sockets,
regular files, etc.) will be dropped from the store during the kexec transition.
LUO preservation of the fdstore is triggered automatically whenever a
kexec-based reboot is initiated on an LUO-capable kernel, and is gated by a
similar rule as soft-reboot: the service must have
`FileDescriptorStorePreserve=yes` set, so that its fdstore remains loaded. On
the other side of the kexec, the system manager rebuilds the mapping of fds
back to their original service units, so that when those services are
re-activated the fds are passed to them using the normal fdstore protocol.
Adding a `FDNAME=…` string identifying the fd is also highly recommended,
otherwise in case multiple fds are stored, it will be impossible to
distinguish them, as they will all carry the default name (`stored`).
## Initrd Transitions
The fdstore may also be used to pass file descriptors for resources from the