From dad7b8d70da67be321d700719769f846411ecf4c Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Tue, 30 Sep 2025 03:12:08 +0300 Subject: services: libvirt: Make dmidecode available to fix SMBIOS error. The libvirt daemon requires 'dmidecode' to provide Host SMBIOS information to virtual machines. Without it in the PATH, it fails with the error: "Host SMBIOS information is not available". * gnu/services/virtualization.scm (libvirt-configuration): Add 'dmidecode' field to specify the dmidecode package. (libvirt-service-type): Add dmidecode to system profile to ensure it's available in PATH. * doc/guix.texi (Virtualization Services): Document the new 'dmidecode' option. Change-Id: I8e5e565e95149c5aeba2dc0c5c757046efa6de2d --- gnu/services/virtualization.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm index 122e2715dc..f369c29c76 100644 --- a/gnu/services/virtualization.scm +++ b/gnu/services/virtualization.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2018, 2020-2025 Ludovic Courtès ;;; Copyright © 2020, 2021, 2023, 2024 Janneke Nieuwenhuizen ;;; Copyright © 2021 Timotej Lazar -;;; Copyright © 2022 Oleg Pykhalov +;;; Copyright © 2022, 2025 Oleg Pykhalov ;;; Copyright © 2022 Leo Nikkilä ;;; Copyright © 2023 Efraim Flashner ;;; Copyright © 2024 Raven Hallsby @@ -111,6 +111,7 @@ libvirt-configuration-ca-file libvirt-configuration-cert-file libvirt-configuration-crl-file + libvirt-configuration-dmidecode libvirt-configuration-firmwares libvirt-configuration-host-uuid libvirt-configuration-host-uuid-source @@ -220,6 +221,9 @@ (qemu (file-like qemu) "The QEMU package to use.") + (dmidecode + (file-like dmidecode) + "The Dmidecode package to use.") (firmwares (list-of-file-likes (list ovmf-x86-64)) "List of UEFI/BIOS firmware packages to make available. Each firmware @@ -529,7 +533,8 @@ avoid potential infinite waits blocking libvirt.")) (compose list libvirt-configuration-libvirt)) (service-extension profile-service-type (lambda (config) - (list (libvirt-configuration-libvirt config) + (list (libvirt-configuration-dmidecode config) + (libvirt-configuration-libvirt config) (libvirt-configuration-qemu config)))) ;; Libvirt only considers the $libvirt/share/qemu/firmware and ;; /etc/qemu/firmware directories to locate the QEMU firmware metadata -- cgit v1.3