Idunn messes with modules in three phases (while udev
is running): preloading, cold-plugging and hot-plugging.
Idunn looks at the kernel command line (/proc/cmdline
) for a modules=…
list. This list is delimited using ':' (colons), and each entry can mean a loading or blacklisting.
A blacklisting entry is of the form “-foo”, a minus followed by the name of the module to blacklist. A loading entry is of the form “foo[,arg1[,arg2[…]]]”, the module name followed by the arguments we want to pass to modprobe using a comma as delimiter.
After the hardcoded part is finished, Idunn uses udevtrigger
to ask udev
to load every module available which is needed by the system. And waits until udev
thinks it's done.
After cold-plugging udev will be running until we finally switchroot
, so in theory you could plug devices and get the modules loaded if you are fast enough.