LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Problem when using kernel module (built from sources) (https://www.linuxquestions.org/questions/linux-newbie-8/problem-when-using-kernel-module-built-from-sources-4175437943/)

PierreB. 11-20-2012 06:27 AM

Problem when using kernel module (built from sources)
 
Hi all !

I do encounter some problems when trying to re-use a kernel module i built from source.
The module is "e1000e", which is a network driver for Intel network card.
The setup is a brand new "Dell T1650".
The kernel is a
Code:

Linux epr-pi-10 2.6.18-194.el5PAE #1 SMP Tue Mar 16 22:00:21 EDT 2010 i686 i686 i386 GNU/Linux
used by a RHel55ES.

This computer (T1650) is not certified for RHEL55, and i can see that the e1000e module shipped with RHEL55ES is obsolete (ver 1.0.2-k3) , i then downloaded the version 2.1.4, and built it over the very same kernel using the informations given in the readme file.

My problem is that if i try to reuse this newly built kernel module i got some error, as :

Code:

FATAL: Error inserting e1000e (/lib/modules/2.6.18-194.el5PAE/kernel/drivers/net/e1000e/e1000e.ko): Unknown symbol in module, or unknown parameter (see dmesg)
And dmesg output :
Code:

e1000e: Unknown symbol vlan_gro_receive
I just overwrite the existing e1000e.ko with my previously built one, the problem might come from this.
I also tried to edit the modules.alias and the pci.map files but it did not do the trick.


Side note : My main goal is to create a new initrd.img to use for our PXE installation process, which does not work as for now because (at least) of the network driver.

oh, and here is the output for the kernel building :
Code:

[root@epr-pi-10 src]# make install
make -C /lib/modules/2.6.18-194.el5PAE/build SUBDIRS=/mnt/Driver_network_T1650/e1000e-2.1.4/src modules
make[1]: entrant dans le répertoire « /usr/src/kernels/2.6.18-194.el5-PAE-i686 »
  CC [M]  /mnt/Driver_network_T1650/e1000e-2.1.4/src/netdev.o
  CC [M]  /mnt/Driver_network_T1650/e1000e-2.1.4/src/ethtool.o
  CC [M]  /mnt/Driver_network_T1650/e1000e-2.1.4/src/param.o
  CC [M]  /mnt/Driver_network_T1650/e1000e-2.1.4/src/82571.o
  CC [M]  /mnt/Driver_network_T1650/e1000e-2.1.4/src/ich8lan.o
  CC [M]  /mnt/Driver_network_T1650/e1000e-2.1.4/src/80003es2lan.o
  CC [M]  /mnt/Driver_network_T1650/e1000e-2.1.4/src/mac.o
  CC [M]  /mnt/Driver_network_T1650/e1000e-2.1.4/src/nvm.o
  CC [M]  /mnt/Driver_network_T1650/e1000e-2.1.4/src/phy.o
  CC [M]  /mnt/Driver_network_T1650/e1000e-2.1.4/src/manage.o
  CC [M]  /mnt/Driver_network_T1650/e1000e-2.1.4/src/kcompat.o
  LD [M]  /mnt/Driver_network_T1650/e1000e-2.1.4/src/e1000e.o
  Building modules, stage 2.
  MODPOST
  CC      /mnt/Driver_network_T1650/e1000e-2.1.4/src/e1000e.mod.o
  LD [M]  /mnt/Driver_network_T1650/e1000e-2.1.4/src/e1000e.ko
make[1]: quittant le répertoire « /usr/src/kernels/2.6.18-194.el5-PAE-i686 »
gzip -c ../e1000e.7 > e1000e.7.gz
# remove all old versions of the driver
find /lib/modules/2.6.18-194.el5PAE -name e1000e.ko -exec rm -f {} \; || true
find /lib/modules/2.6.18-194.el5PAE -name e1000e.ko.gz -exec rm -f {} \; || true
install -D -m 644 e1000e.ko /lib/modules/2.6.18-194.el5PAE/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko
/sbin/depmod -a || true
install -D -m 644 e1000e.7.gz /usr/share/man/man7/e1000e.7.gz
man -c -P'cat > /dev/null' e1000e || true

Oh and when i just built a new module and use it straight away it works like a charms....




Any advices will be very appreciated !

PierreB. 11-20-2012 07:25 AM

Ok, i keep searching, and from what i got from the driver makefile, i have to run some depmod command (-n -a or -d ??, still searching)

I tried the easiest depmod and it actually works, so i was able to load my e1000e.ko module by :
#1 removing the old one
#2 copying the new one at the same location
#3 run the "depmod -a" command
#4 finally a "modprobe e1000e" give me love...


So i still have to handle the initrd.img integration part now...

In case someone is interested my next step here is the thread :
http://www.linuxquestions.org/questi...78#post4833878


All times are GMT -5. The time now is 08:43 AM.