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.


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.

  • 2
    giving FATAL: Module hello.ko not found. what to do? – gangadhars Apr 22 '14 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 '14 at 5:51
  • 2
    No. I build a kernel and I compiled with that new kernel. insmod is working for (uname -r). but my kernel is not working – gangadhars Apr 22 '14 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 '14 at 5:58

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.

  • Yeah the problem is I'm using a parallella board, the kernel i build with headers reports a different version number to the modules built using the headers, and now there's literally no way to load the module. it's driving me crazy. – Owl Sep 3 '18 at 16:37
  • @Owl That shouldn't be happening, something is wrong with your build process. Are you cross-compiling? – Caleb Sep 4 '18 at 8:53

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.

  • 1
    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

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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