Driver Modules under linux-2.4.31 - unresolved sysmbols

David Daney ddaney at avtrex.com
Thu Sep 15 16:44:31 UTC 2005


PHILLIPS John M wrote:
> Short form of the question:
> What is required to make a load-able driver module under the later versions
> of linux 2.4.xx?
> 
> Long form of the question:
> I have already build and run a linux-2.6 version of our drivers and
> application. But a bug has appeared in our existing system and I need to
> re-build a linux-2.4 version.  The makefiles used under linux-2.4.4 that
> made simple loadable object modules no long seem to work under 2.4.31.  When
> attempting "insmod <modulename>", I get unresolved symbols
> __generic_copy_from_user, __release_region, reguster_chrdev, and more.

This is not really a uClibc issue.  But...

It looks like you are not using the proper include files when building 
the module.  The include files *must* be from the exact version of the 
kernel for which you are building the module.  Some of the internal 
kernel APIs undoubtedly changed between 2.4.4 and 2.4.31 so you may have 
to account for that as well.

David Daney.



More information about the uClibc mailing list