From: Bertrand Jacquin Date: Sun, 11 Oct 2020 21:25:56 +0000 (+0100) Subject: machine-id-setup: generate machine-id from DMI product ID on Amazon EC2 X-Git-Tag: v249-rc1~309^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=382a46d129899ca9027b07c325102cab173dd563;p=thirdparty%2Fsystemd.git machine-id-setup: generate machine-id from DMI product ID on Amazon EC2 Amazon EC2 Nitro hypervisor is technically based on KVM[1]. [1] https://aws.amazon.com/ec2/faqs/ --- diff --git a/src/shared/machine-id-setup.c b/src/shared/machine-id-setup.c index dd4c74b19c9..d2f989272dd 100644 --- a/src/shared/machine-id-setup.c +++ b/src/shared/machine-id-setup.c @@ -60,13 +60,14 @@ static int generate_machine_id(const char *root, sd_id128_t *ret) { return 0; } - } else if (detect_vm() == VIRTUALIZATION_KVM) { + } else if (IN_SET(detect_vm(), VIRTUALIZATION_KVM, VIRTUALIZATION_AMAZON, VIRTUALIZATION_QEMU)) { - /* If we are not running in a container, see if we are running in qemu/kvm and a - * machine ID was passed in via -uuid on the qemu/kvm command line */ + /* If we are not running in a container, see if we are running in a VM that provides + * a system UUID via the SMBIOS/DMI interfaces. Such environments include QEMU/KVM + * with the -uuid on the qemu command line or the Amazon EC2 Nitro hypervisor. */ if (id128_get_product(ret) >= 0) { - log_info("Initializing machine ID from KVM UUID."); + log_info("Initializing machine ID from VM UUID."); return 0; } }