how (linux kernel) network modules gets loaded without modprobe.conf
I have fedora distribution installed and can see e1000e module loaded automatically in the system.
Is there a configuration which specifies to load this module automatically ??
I have referred modprobe.conf, BUT no such entry exists. for that matter, I have grep'd entire /etc/ directory to check any entry to load this module, but no avail.
Please let me know
1. whether any configuration file mention about loaded specific modules automatically during bootup time ?
2. If there is not config file, how the modules are picked up by the system?
Thanks!
Best Answer
They are loaded based on hardware detection. In the case of your
e1000e
module the hardware in your machine, whether it is on board or a plugin card, will identify itself with a PCI vendor ID and device ID pair and those will be matched against the available modules and any module identifying itself with that ID will be loaded.You can see the IDs associated with the
e1000e
module by runningmodinfo e1000e
which will report something like this:Only with a much long list of
alias
lines, each of which identifies a specific PCI device that the module is able to support.As devices appear the linux kernel will announce them to userspace using uevents, and the udev daemon will match the device IDs against the module database and load the correct modules.