Tutorial for Installing the iGC Driver Module for I226-V NIC on openEuler 24.03 LTS SP4

Environment

Kernel version: 6.6.0-159.4.3.154.oe2403sp4.x86_64

System: openEuler 24.03 LTS SP4

Installation

Pre-installed Software and Source Code Download

dnf install -y dkms gcc gcc-c++ make kernel-devel-$(uname -r) kernel-headers-$(uname -r) elfutils-libelf-devel tar -y

Then download the corresponding kernel source package from the official Linux kernel website https://kernel.org/. I used https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.155.tar.xz.

Compilation

Upload the file to the server and extract it:

tar -xf linux-6.6.155.tar.xz
mkdir -p ~/igc_build
cp -r linux-6.6.155/drivers/net/ethernet/intel/igc/* ~/igc_build/

Then modify the Makefile:

mv Makefile Makefile.orig
cat > Makefile << 'EOF'
obj-m += igc.o

igc-objs := igc_main.o \
            igc_ethtool.o \
            igc_mac.o \
            igc_base.o \
            igc_nvm.o \
            igc_phy.o \
            igc_diag.o \
            igc_i225.o \
            igc_tsn.o \
            igc_xdp.o \
            igc_dump.o \
            igc_ptp.o

all:
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

clean:
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
EOF
make

Testing

After make completes, an igc.ko file will be generated in the current directory.

insmod igc.ko
lsmod | grep igc
mkdir -p /lib/modules/$(uname -r)/kernel/drivers/net/ethernet/intel/igc/
cp igc.ko /lib/modules/$(uname -r)/kernel/drivers/net/ethernet/intel/igc/
depmod -a
echo "igc" | sudo tee /etc/modules-load.d/igc.conf

Compiled file: https://pan.baidu.com/s/1KnfplbaE9h4jHiyDQiu3Ww?pwd=5xsq
Extraction code: 5xsq

1 Like

This refers to this post: openeuler 22.03 sp3针对Intel® Ethernet Controller I226-V不识别的问题

1 Like