From Bugzilla Helper: User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows 98) Description of problem: Looking at /proc/ksyms shows that register_chrdev has a different CRC value in the i686 build of the 2.4.9-31 kernel from the i386 and i586 builds. Why is this ? Is there a way round this so I don't have to do a seperate i686 build for my customer device drivers ? Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1. Compare /proc/ksyms entry for register_chrdev between kernel-2.4.9-31 i386 and i686. Notice that the CRC values are different 2. 3. Additional info:
The i386, i586 but particularly the i686 kernel are very different internally on a binary level. Structures are different sizes, several functions have different sized arguments (due to highmem in i686) etc etc etc. There's no way to do 1 binary for all kernels. The simplest thing to do is to ship the source to the customers with a simple makefile (I can provide a good example if you're interested) and build on demand.
Also Doug Ledford has a nice little kit for building the set of drivers needed and generating driver disks. Ping dledford