> We have a driver which (unfortunately) is not open source.
> We deliver this driver in binary format (as an rpm) to
> customers. Customers sometimes add patches or use newer kernels
> than what we compiled with. With versioning (which is default on
> and *mostly* a good thing in my opinion) symbol names change and
> our driver module does not load. We do not wish to tell our
> customers to disable versioning. Is there any way of getting
> around this?
One option would be to provide a separate open-source module that can
be compiled as part of the kernel, and whose only task is to call the
non-versioned routines in your module. The said module would then set
itself up to depend on the binary-only module.
Probably a more realistic option would be to split your binary module
into an open source header routine and a binary only module that the
header routine calls, with the latter containing all the proprietary
stuff.
> Our only option at this time seems to be demangling the ksyms
> and our module symbols, match them and replace the module symbol
> references with the new ones in ksyms (using libbfd or some
> such). Not an ideal solution...
> What is the "correct" way of doing it? Even with open source
> kernel external modules one would like to be able to avoid
> recompiling them after doing a minor change in the kernel
> configuration??
> Enlighten me, but please be gentle ;-)
I'm no kernel expert, so the above is just my personal thoughts...
Best wishes from Riley.
+----------------------------------------------------------------------+
| There is something frustrating about the quality and speed of Linux |
| development, ie., the quality is too high and the speed is too high, |
| in other words, I can implement this XXXX feature, but I bet someone |
| else has already done so and is just about to release their patch. |
+----------------------------------------------------------------------+
* ftp://ftp.MemAlpha.cx/pub/rhw/Linux
* http://www.MemAlpha.cx/kernel.versions.html
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/