On Sun, 28 Apr 2019 at 01:22, wuzhouhui <wuzhouhui14 at mails.ucas.ac.cn> wrote: > > -----Original Messages----- > > From: "Steven Tardy" <sjt5atra at gmail.com> > > Sent Time: 2019-04-28 13:02:18 (Sunday) > > To: "CentOS mailing list" <centos at 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 at 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. -- Stephen J Smoogen.