I have been working on the remaining bits before we can drop our load-modules.sh from udev.
I asked around on #udev to see what they thought of moving some of our functionality upstream. Kay Sievers rightly pointed out that the functionality belongs in module-init-tools, not in udev.
I made a few patches against module-init-tools which simplifies what we have to do in initscripts/mkinitcpio, and I'd like to ask your opinion about this before submitting upstream.
Kernel commandline blacklisting:
modprobe will parse /proc/kcmdline in addition to the configuration files to blacklist modules. The syntax is "modprobe.blacklist=mod1,mod2,mod3".
rc.conf blacklist compatibility:
This is only relevant for initscripts. modprobe will read /run/modprobe.d in addition to /etc/modprobe.d for configuration files, so at boot we can generate a blacklist file directly in /run based on rc.conf. I'm still working on some improvements to this patch that are needed before it can be upstreamed (if two files with the same name exist in different directories one needs to be ignored), but the functionality we care about is already there.
Any comments? Does this sound like enough to remove the blacklisting logic provided by modules-load.sh?
For an idea of what initscripts will do at boot once this is in modules-init-tools, have a look here: https://github.com/teg/initscripts-arch/blob/ccac6d93278fe4ce2e8cbf9923c089a272d06bfb/modprobe-blacklist.