On 16/10/2021 12:52, Phil Perry wrote:
On 16/10/2021 11:57, James Pearson wrote:
I'm trying to install CentOS 7.9 via PXE on a Lenovo P620 that has a single Aquantia 10Gb NIC

The installer (Anaconda) fails to start and the installer kernel reports:

  atlantic: Bad FW version detected: 4020028

Installing the box by adding a 2nd NIC works fine and lspci reports:

   01:00.0 Ethernet controller [0200]: Aquantia Corp. AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion] [1d6a:07b1] (rev 02)

After a bit of googling, it looks like Lenovo PCs with this NIC use/require 'version 4' of the firmware - which is not supported by the EL 7.9 atlantic driver (not supported until EL 8.4)

Lenovo provide Linux driver source which builds fine on EL 7.9 - and I can insmod the new kernel module fine and it finds the NIC etc

However, I'm struggling to build an installer driver disk image and get the CentOS 7.9 installer to use it

I've created my own 'kmod-atlantic' RPM - based on other similar ElRepo SRPMS and it appears the installer attempts to use it - but it gives warnings like:

  [   11.087251] atlantic: loading out-of-tree module taints kernel.
  [   11.090231] atlantic: module verification failed: signature and/or required key missing - tainting kernel


This messaging is perfectly normal - it's basically just telling you that you've loaded a 3rd party module and that it either isn't signed for Secure Boot or that the key it has been signed with hasn't been imported on your system.

but doesn't seem to use the newer module?


Forgot to add/ask - is SecureBoot enabled on your system? If so, then the module will be prevented from loading if it isn't signed with a SB key and that key imported into your system.

Running 'modinfo' on the driver module will tell you the full filename path of the driver in use. If it contains 'extra' or weak-updates' in the path then it's your module that's loaded, e.g:

/lib/modules/3.10.0-1160.45.1.el7.x86_64/weak-updates/module_name/module_name.ko

If it contains '/kernel/drivers/' in the path then it's the distro kernel driver that is in use.

The depmod .conf file is used to override the default kernel module with your 3rd party kmod module.

Can anyone give me some pointers to what I need to do to get the newer kernel module to load in the installer?


To load the module during installation, you need to create a Driver Update Disk (DUD) from your kmod package. This takes the form of an ISO image you can burn to CD/DVD or USB stick and pass to the installer (anaconda).

We have written a script that we use to do the job (below) which you are welcome to use:

https://github.com/elrepo/elrepo-scripts/blob/master/mkdd.sh

Simply run the script from the same dir that contains your kmod RPM and SRPM. Note you should build your kmod RPM against the same kernel version that is used on the installation media.

This video explains how to use a Driver Update Disk (DUD) when installing CentOS/RHEL:

https://www.youtube.com/watch?v=4fOAuXiynYM

Thanks

James Pearson


_______________________________________________
elrepo mailing list
[email protected]
http://lists.elrepo.org/mailman/listinfo/elrepo

_______________________________________________
elrepo mailing list
[email protected]
http://lists.elrepo.org/mailman/listinfo/elrepo

Reply via email to