银河麒麟服务器操作系统自带intel网卡相关的驱动,比如e1000,e1000e等,自带的e1000e驱动版本较低,不支持intel的I219-V网卡
[root@localhost ~]# modinfo e1000e
filename: /lib/modules/4.19.90-89.21.v2401.ky10.x86_64/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko.xz
version: 3.2.6-k
而intel提交到开源社区的e1000e驱动,已经到3.8.7版本。但银河麒麟服务器操作系统V10 SP1,内核为4.19版本,比较老。3.8.7版本的e1000e驱动,在4.19内核上面无法编译成功。使用3.8.4版本有e1000e驱动,编译成功。
[root@localhost src]# make
make[1]: 进入目录“/usr/src/kernels/4.19.90-89.21.v2401.ky10.x86_64”
CC [M] /root/e1000e-3.8.4/src/netdev.o
CC [M] /root/e1000e-3.8.4/src/ethtool.o
CC [M] /root/e1000e-3.8.4/src/ich8lan.o
CC [M] /root/e1000e-3.8.4/src/mac.o
CC [M] /root/e1000e-3.8.4/src/nvm.o
CC [M] /root/e1000e-3.8.4/src/phy.o
CC [M] /root/e1000e-3.8.4/src/manage.o
CC [M] /root/e1000e-3.8.4/src/80003es2lan.o
CC [M] /root/e1000e-3.8.4/src/82571.o
CC [M] /root/e1000e-3.8.4/src/param.o
CC [M] /root/e1000e-3.8.4/src/ptp.o
CC [M] /root/e1000e-3.8.4/src/kcompat.o
LD [M] /root/e1000e-3.8.4/src/e1000e.o
Building modules, stage 2.
MODPOST 1 modules
CC /root/e1000e-3.8.4/src/e1000e.mod.o
LD [M] /root/e1000e-3.8.4/src/e1000e.ko
make[1]: 离开目录“/usr/src/kernels/4.19.90-89.21.v2401.ky10.x86_64”
将系统自带的e1000e驱动备份,将刚编译的驱动复制到指定目录
mv /lib/modules/4.19.90-89.21.v2401.ky10.x86_64/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko.xz /lib/modules/4.19.90-89.21.v2401.ky10.x86_64/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko.xz.bak
cp e1000e.ko /lib/modules/4.19.90-89.21.v2401.ky10.x86_64/kernel/drivers/net/ethernet/intel/e1000e/
更新内核模块依赖
depmod -a
重新生成initrd.img文件
dracut -f
使用命令驱动重新生成的initrd.img文件中是否包含了刚编译的驱动
[root@localhost src]# lsinitrd /boot/initramfs-4.19.90-89.21.v2401.ky10.x86_64.img |grep e1000e
drwxr-xr-x 2 root root 0 Mar 13 2024 usr/lib/modules/4.19.90-89.21.v2401.ky10.x86_64/kernel/drivers/net/ethernet/intel/e1000e
-rw-r--r-- 1 root root 572320 Mar 13 2024 usr/lib/modules/4.19.90-89.21.v2401.ky10.x86_64/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko
-rw-r--r-- 1 root root 101460 Mar 13 2024 usr/lib/modules/4.19.90-89.21.v2401.ky10.x86_64/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko.xz.bak
重启服务器,运行modinfo e1000e命令,查看驱动版本
[root@localhost ~]# modinfo e1000e
filename: /lib/modules/4.19.90-89.21.v2401.ky10.x86_64/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko
version: 3.8.4-NAPI
license: GPL
description: Intel(R) PRO/1000 Network Driver
author: Intel Corporation, <linux.nics@intel.com>
srcversion: 09D56C3653B01BD80AB9CBD