Subject: [bug#77004] [PATCH] gnu: libvirt: Fix path to Linux modules

From: nathan <[email-masked]>
Date: Sun, 16 Mar 2025 16:03:57 +0000

Actually, Nix uses /run/booted-system too. They fixed it in a later patch that I didn't bother to link
https://github.com/NixOS/nixpkgs/pull/287544

Thanks for applying it

On 3/16/25 2:19 PM, Maxim Cournoyer wrote:
> Hi,
> 
> Maxim Cournoyer <[email-masked]> writes:
> 
> [...]
> 
>>> @@ -508,11 +508,13 @@ (define (libvirt-shepherd-service config)
>>>                        (list (string-append #$libvirt "/sbin/libvirtd")
>>>                              "-f" #$config-file
>>>                              #$@(if listen-tcp? '("--listen") '()))
>>> -                     ;; For finding qemu and ip binaries.
>>> +                     ;; For finding qemu, ip binaries, and kernel modules
>>>                        #:environment-variables
>>> -                     (list (string-append
>>> -                            "PATH=/run/current-system/profile/bin:"
>>> -                            "/run/current-system/profile/sbin"))))
>>> +                     (list
>>> +                      (string-append
>>> +                       "PATH=/run/current-system/profile/bin:"
>>> +                       "/run/current-system/profile/sbin")
>>> +                      "LINUX_MODULE_DIRECTORY=/run/booted-system/kernel/lib/modules")))
>>
>> I suppose only modules from the booted kernel makes sense to be used,
>> hence the /run/booted-system instead of /run/current-system as Nix uses?
> 
> I've kept /run/booted-system, made some light cosmetic changes including
> in the GNU Changelog of the commit message (have a look in commit
> 856fa9a4e4), and pushed!
>