title | category | layout | SPDX-License-Identifier |
---|---|---|---|
VM Interface |
Interfaces |
default |
LGPL-2.1-or-later |
Also consult Writing Virtual Machine or Container Managers.
systemd has a number of interfaces for interacting with virtual machine managers, when systemd is used inside of a VM. If you work on a VM manager, please consider supporting the following interfaces.
-
systemd supports passing immutable binary data blobs with limited size and restricted access to services via the
ImportCredential=
,LoadCredential=
andSetCredential=
settings. These credentials may be passed into a system via SMBIOS Type 11 vendor strings, see systemd(1) for details. This concept may be used to flexibly configure various facets ot the guest system. See systemd.system-credentials(7) for a list of system credentials implemented by various systemd components. -
Readiness, information about various system properties and functionality, as well as progress of boot may be reported by systemd to a machine manager via the
sd_notify()
protocol viaAF_VSOCK
sockets. The address of this socket may be configured via thevmm.notify_socket
system credential. See systemd(1). -
The systemd-ssh-generator(8) functionality will automatically bind SSH login functionality to
AF_VSOCK
port 22, if the system runs in a VM. -
If not initialized yet the system's machine-id(5) is automatically set to the SMBIOS product UUID if available and invocation in an VM environment is detected.
-
The
systemd-boot(7)
andsystemd-stub(7)
components support two SMBIOS Type 11 vendor strings that may be used to extend the kernel command line of booted Linux environments:io.systemd.stub.kernel-cmdline-extra=
andio.systemd.boot.kernel-cmdline-extra=
.
Also see smbios-type-11(7) for a list of supported SMBIOS Type 11 vendor strings.