On Fri, Feb 22, 2008 at 5:56 PM, eliott <eliott@cactuswax.net> wrote:
On 2/22/08, Aaron Griffin <aaronmgriffin@gmail.com> wrote:
Ok, guys - honest question. Because udev is being a big pain in the ass with the way we do module blacklisting, we might want to reevaluate it.
Right now we support blacklisting of modules in rc.conf, in addition to a kernel param disablemodules=x,y,z
Udev autoloading is controlled by MOD_AUTOLOAD and the load_modules kernel param.
We *can* use modprobe based blacklisting here, but we lose the above items. blacklisting will be controlled only by /etc/modprobe.conf (and modprobe.d/*) and we lose the ability to shut it off via rc.conf.
What do we gain? Speed and simplicity. No extraneous scripts to handle this stuff, and all that jazz.
This is how fast this script was when I originally wrote it: http://img.phraktured.net/other/udev_modules_boot.png Now it apparently takes 3 times as long due to all the added blacklisting cruft
What do we lose? Robustness. See below for an explanation of the blacklist changes
I thin modprobe.conf would probably be 'cleaner' and 'closer to home'. It would probably be a little less 'classic arch', as it moves things away from rc.conf instead of into it. It might be the right thing to do though..not sure.
That's about where I am right now. It feels cleaner, but begins moving things out of rc.conf, which is un-Archy. I dunno, I'm hoping to hear other people's opinions on this, as I'm holding off pushing out a udev with start_udev still in it until we decide what to do here... anyone have a strong opinion?
I do have one concern though. How would this effect mkinitcpio, and excluding modules via grub at boot time (whether from an install cd or from a real boot and with an initrd)?
That's harder. But we have two options. Firstly, the initramfs udev can have different sets of rules, there's nothing wrong with that. Secondly, before starting udev in the initramfs, we can do something like: for x in $disablemodules; do echo "blacklist $x" >> /etc/modprobe.conf done /me shrugs