On Sun, 28 Apr 2019 at 01:22, wuzhouhui wuzhouhui14@mails.ucas.ac.cn wrote:
-----Original Messages----- From: "Steven Tardy" sjt5atra@gmail.com Sent Time: 2019-04-28 13:02:18 (Sunday) To: "CentOS mailing list" centos@centos.org Cc: Subject: Re: [CentOS] Who is responsible to load NIC driver when boot up
On Sat, Apr 27, 2019 at 11:44 PM wuzhouhui <wuzhouhui14@mails.ucas.ac.cn
wrote:
I have a small question about NIC driver (e.g. i40e) loading. Who is responsible to load i40e driver? And how does he knows we should load i40e, instead of ixgbe?
`depmod` may put hardware/driver lists into initramfs when `mkinitrd` is called when a new kernel is installed. Also check file: /lib/modules/`uname-r`/modules.alias The modules.alias contains PCI vendor/device IDs which can be found via `lspci -n`.
Also you can `modinfo i40e` and `modinfo ixgbe` to see a list of PCI vendor/device IDs which each driver supports.
Most of the time “it just works” be can be confusing tracking down
exactly
why one driver loads instead of another.
Thanks for you explanation. But who loads (modprobe) drivers, udev, kernel, or others?
During the initial boot on EL7, the initial ramdisk which uses dracut to set up that. After the initial boot, I believe udev is what is doing the work. There are a ton of pretty good manual pages for all the different parts of dracut which explain how it is loading things, what order and how to add/remove things.