2.6 KiB
title, category, layout, SPDX-License-Identifier
| title | category | layout | SPDX-License-Identifier |
|---|---|---|---|
| VM Interface | Interfaces | default | LGPL-2.1-or-later |
The VM Interface
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_VSOCKsockets. The address of this socket may be configured via thevmm.notify_socketsystem credential. See systemd(1). -
The systemd-ssh-generator(8) functionality will automatically bind SSH login functionality to
AF_VSOCKport 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.