Kernel module loading and initrd
I'm currently trying to create some kind of own distro. Actually I'm just modifying a gentoo installation to be able to boot from CD. For this, I use the slax boot usb/iso creation tools. Everything works nicely: the kernel loads, the initrd is loaded and the root file system image is found, mounted and started.
I want to be able to start this custom linux on computers with varying hardware. I know that the kernel loads (at least most of) the modules automatically if corresponding hardware is detected. I don't want to compile all drivers into the kernel and I don't want to copy all modules to initrd (even if this would be an ok-solution if the modules are not too big). I want the kernel to load the modules after the initrd image has mounted and pivot_rooted the root file system. How can this be accomplished? Alternative question: how can I scan for modules that can be loaded according to the current hardware?