Hi Brice, On Fri, 15 May 2020 19:31:51 +0000 Brice Waegeneire wrote: > (1) Generate a config directory for modrope to use > (2) Load loadable kernel module by extending 'kernel-module-loader-service' [...] > ATM I need help with point number 1 in regard to putting in place the > config directory for modprobe. To do so I need to change > '%modprobe-wrapper' into a procedure to take the configuration directory > as > an argument, since the directory will now come from '/gnu/store/' > instead > of '/etc/'. The problem is that the wrapper is currently put in place by > '%linux-bare-metal-service' which is an essential service, so it seems > that > KMCS will have to become one too. I think that essential services are just services that aren't randomly restarted or removed by Guix while the system is running. Also, a user shouldn't need to touch (swap out) essential services. I envision that mostly other services would extend the KMCS--so it shouldn't matter that user can't touch the KMCS essential service. That said, maybe still good to have a field in the record that lets the user specify manual kernel module configuration amendments. The kernel module configuration directory should be there as early as possible in the boot process since the kernel can invoke modprobe whenever it wants. Definitely don't wait for shepherd (or even more stuff) to start up. > service > most of them are straight forward and don't extend services like > 'kernel-module-loader-service-type' > (which itself extend > 'shepherd-root-service-type'). Oops. > What are the guidelines to add a service to the essential-services? Can > KMCS become an essential-service? Any other remarks/idea? If necessary one can always not do (2)--although it would be nice to do it. But if it means waiting for shepherd, nope.