Pierre Neidhardt writes: > - Where to store the kernel module? I'm not sure what the best way to build and use this will be. FWIW, I found these prior discussions. Maybe they'll be useful: https://lists.gnu.org/archive/html/guix-devel/2016-07/msg01457.html https://lists.gnu.org/archive/html/guix-devel/2018-02/msg00446.html https://lists.gnu.org/archive/html/guix-devel/2017-12/msg00221.html I think you might need to build a custom linux-libre kernel. You also might need to fiddle with base-initrd or raw-initrd procedures to load your module in the initrd. See "(guix) Initial RAM Disk" for details. Hopefully somebody else can give better guidance here. > - VHBA's documentation recommends setting up some Udev rule. Does it > mean that it's up to the user to configure those rules so that they > have access to VHBA and thus CDEmu? Basically, I think the answer is "yes, the user has to do it." That's not a great user experience, though. The best way right now to install udev rules is either to manually add custom udev rules (see: (guix) Base Services) in your operating system declaration, or manually add a service in your operating system declaration that extends the udev-service-type (such a service should add the right udev rules for you). If you're defining a new system service, you can extend the udev-service-type. That way, anybody who uses your service will automatically get the right rules. However, I'm not sure that what you are doing can be modeled as a system service. You're adding a kernel module, which is not accomplished by adding a system service. Maybe there's a better way that I don't know about. If so, I'd like to know! -- Chris