Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I downloaded the sources for my kernel, applied a patch and rebuilt it and now I have a kernel module that, when I try to insmod, complains "Unknown symbol in module" with dmesg giving the error "disagrees about the version of symbol ...".

Without having to hunt down the source for this module and rebuild it against my kernel is it possible to somehow force the kernel to accept this module?

I realise this would be dangerous but I'll to take the risk if its possible.

share|improve this question

3 Answers 3

up vote 5 down vote accepted

insmod isn't the best tool to load modules - use modprobe instead, it's smarter. In modprobe's man page, you'll find that it has a --force option which might load a module with conflicting version information.

As you said, this is dangerous and should essentially never be used. You pick up the pieces if your system blows up.

share|improve this answer
1  
giving FATAL: Module hello.ko not found. what to do? –  linux_inside Apr 22 at 5:47
    
Find the module? The command is telling you it's not finding it, make sure it's somewhere it can find it. –  Mat Apr 22 at 5:51
1  
No. I build a kernel and I compiled with that new kernel. insmod is working for (uname -r). but my kernel is not working –  linux_inside Apr 22 at 5:54
    
Post a question with all the required details, I can't understand your second comment or how it relates to the first. –  Mat Apr 22 at 5:58
    
ok. thanks. I do. –  linux_inside Apr 22 at 5:59

If you rebuilt the same kernel version and are getting that error, chances are the patch you applied changed something that in the kernel that is referenced by the module. That pretty much guarantees it's going to blow up. You will need to find the source for that module and compile it again against your new kernel so that it has the correct references.

There is also some chance it will fail to compile at all and need to be modified to match whatever modifications your kernel patch made.

share|improve this answer

do a make clean, and make again in your module directory , then insmod it, you wont be getting that error. or the other case might be you are missing kernel headers, install them according to the distro you have.

share|improve this answer
    
The question was how to do this without having to hunt down the source code for the module, so an answer that requires having the source code may not be very helpful. –  Jenny D Mar 19 '13 at 12:26

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.