File: VM_INTERFACE.md

package info (click to toggle)
systemd-udeb 259-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 104,120 kB
  • sloc: ansic: 726,480; xml: 121,118; python: 35,852; sh: 33,447; cpp: 946; awk: 102; makefile: 89; lisp: 13; sed: 1
file content (54 lines) | stat: -rw-r--r-- 2,617 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
---
title: VM Interface
category: Interfaces
layout: default
SPDX-License-Identifier: LGPL-2.1-or-later
---

# The VM Interface

Also consult [Writing Virtual Machine or Container
Managers](https://systemd.io/WRITING_VM_AND_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.

1. systemd supports passing immutable binary data blobs with limited size and
   restricted access to services via the `ImportCredential=`, `LoadCredential=`
   and `SetCredential=` settings. These credentials may be passed into a system
   via SMBIOS Type 11 vendor strings, see
   [systemd(1)](https://www.freedesktop.org/software/systemd/man/latest/systemd.html)
   for details. This concept may be used to flexibly configure various facets
   ot the guest system. See
   [systemd.system-credentials(7)](https://www.freedesktop.org/software/systemd/man/latest/systemd.system-credentials.html)
   for a list of system credentials implemented by various systemd components.

2. 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 via `AF_VSOCK` sockets. The address of this
   socket may be configured via the `vmm.notify_socket` system credential. See
   [systemd(1)](https://www.freedesktop.org/software/systemd/man/latest/systemd.html).

3. The
   [systemd-ssh-generator(8)](https://www.freedesktop.org/software/systemd/man/latest/systemd-ssh-generator.html)
   functionality will automatically bind SSH login functionality to `AF_VSOCK`
   port 22, if the system runs in a VM.

4. If not initialized yet the system's
   [machine-id(5)](https://www.freedesktop.org/software/systemd/man/latest/machine-id.html)
   is automatically set to the SMBIOS product UUID if available and invocation
   in an VM environment is detected.

5. The
   [`systemd-boot(7)`](https://www.freedesktop.org/software/systemd/man/latest/systemd-boot.html)
   and
   [`systemd-stub(7)`](https://www.freedesktop.org/software/systemd/man/latest/systemd-stub.html)
   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=` and
   `io.systemd.boot.kernel-cmdline-extra=`.

Also see
[smbios-type-11(7)](https://www.freedesktop.org/software/systemd/man/latest/smbios-type-11.html)
for a list of supported SMBIOS Type 11 vendor strings.