[CentOS] Who is responsible to load NIC driver when boot up

Sun Apr 28 13:54:13 UTC 2019
Stephen John Smoogen <smooge at gmail.com>

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.