Problem:
Hey guys! We would like to provision some new workstation systems with an installed Intel l219-LM network adapter through the foreman discovery image. Unfortunately the installed network card, needs a more recent intel e1000e driver version, to initialize the installed network card. (https://access.redhat.com/solutions/2521021)
As a quick solution, I installed the latest driver version via rpm from https://centos.pkgs.org/7/elrepo-x86_64/kmod-e1000e-3.8.4-2.el7_8.elrepo.x86_64.rpm.html on my local machine, compressed the included e1000e.ko and rebuild the initrd included in the discovery-image with the downloaded kernel module.
Basically I did the following:
-
Extract the initrd
/usr/lib/dracut/skipcpio initrd0.img | gunzip -c | cpio -i -d
-
Compress the provided e1000e.ko
-
Overwrite the included e1000e.ko file in the initrd directory tree
-
Rebuild the initramdisk
find . | cpio --create --format=ânewcâ > /tmp/newinitramfs
gzip -S .img /tmp/newinitramfs -
Overwrite the initrd0.img included in fdi
-
Generate a new fdi with mkisofs
Unfortunately, when I boot from this newly created fdi, log into the live system and load the included e1000e.ko kernel module via modprobe, I get the old version of this driver module!? Where does this module come from? Is it included in the kernel used by the fdi?
The more recent version of this kernel module, which I overwrit before is correctly included in the generated /isolinux/initrd0.img !?
Extracted initrd0.img on the live system:
[root@fdi tmp]# modinfo ./usr/lib/modules/3.10.0-1062.1.2.el7.x86_64/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko.xz
filename: /tmp/./usr/lib/modules/3.10.0-1062.1.2.el7.x86_64/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko.xz
**version: 3.8.4-NAPI**
license: GPL
description: Intel(R) PRO/1000 Network Driver
author: Intel Corporation, <linux.nics@intel.com>
retpoline: Y
rhelversion: 7.8
srcversion: 5507E646B9C1006005CF01C
Included e1000e.ko.xz in /usr/lib/modules/
[root@fdi ~]# modinfo e1000e
filename: /lib/modules/3.10.0-1062.1.2.el7.x86_64/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko.xz
**version: 3.2.6-k**
license: GPL v2
description: Intel(R) PRO/1000 Network Driver
author: Intel Corporation, <linux.nics@intel.com>
retpoline: Y
rhelversion: 7.7
srcversion: 043110184A2E8C433DE02E1
Maybe @lzap could help? Is there any better way to update the included driver?
Many thanks & Best regards!
Expected outcome:
The newly created initrd should contain the included version of the kernel module
Foreman and Proxy versions:
foreman-2.1.4-1.el7.noarch
fdi-bootable-3.5.7.iso
Distribution and version:
NAME=âRed Hat Enterprise Linux Serverâ
VERSION=â7.8 (Maipo)â