GUIX's initrd code ignores the kernel command line and always passes no parameters to the modules it loads. This fixes it with command line parsing code that is accurate to what modprobe does. The user's module options, like somemodule.param=val, are properly passed now. It also allows the modprobe.blacklist option to optionally be quoted and normalizes the module names given in the blacklist. modprobe.blacklist="module1,mod-ule2" -> '("module1" "mod_ule2") I tested passing module options with the command line in a VM and on my real system. Tested blacklist code in a VM. I've also attached my code I used to test the commandline parsing function manually. fix bug#55907 https://lists.gnu.org/archive/html/bug-guix/2022-06/msg00157.html