LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Reply
  Search this Thread
Old 11-20-2012, 07:27 AM   #1
PierreB.
Member
 
Registered: Apr 2012
Location: Grenoble
Distribution: Rhel[456],CentOS[56],fedora18
Posts: 33

Rep: Reputation: Disabled
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 !

Last edited by PierreB.; 11-20-2012 at 07:30 AM. Reason: More infos...
 
Old 11-20-2012, 08:25 AM   #2
PierreB.
Member
 
Registered: Apr 2012
Location: Grenoble
Distribution: Rhel[456],CentOS[56],fedora18
Posts: 33

Original Poster
Rep: Reputation: Disabled
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

Last edited by PierreB.; 11-21-2012 at 08:36 AM.
 
  


Reply

Tags
kernel module


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
How does one export a symbol from a module built outside the kernel source tree? opsimath Linux - Kernel 3 09-15-2011 11:56 AM
How to know kernel built-in module size nitinarora Linux - Kernel 4 09-07-2011 08:19 PM
Module compilation needs kernel header files or kernel sources? baxzius Linux - Newbie 2 08-04-2011 05:12 PM
Kernel compilation: Is it posiible to change built-in[] option to module<> ravime Linux - Kernel 4 07-30-2007 09:12 AM
iptables - module, or built into kernel? dunkyb Linux - General 3 02-16-2003 07:04 PM


All times are GMT -5. The time now is 06:01 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration