3

I want to distribute proprietary Linux module for various distros without pre-building the module for all of them. For example I have the following files:

wrapp.c
mod.c
fops.c

All wrapp.c is wrapper for all kernel functions I'm using:

unsigned int wrap_ioread8(void *addr)
{
    return ioread8(addr);
}

What I want to do is to give the customer mod.o and fops.o + the wrapp.c.

So I build the mod/fops.o on kernel 3.2 then tried to use them on kernel 2.6.32. The module builds without a problem but when I try ioctl() to the module I'm getting "invalid parameter". The ioctl interface is not changed between 3.2 and 2.6.32! so I'm stuck understanding what is wrong. If I build the module from source it works without a problem.

I was reading about binary blobs, o_shipped, etc. but so far I can't make it work. What am I missing?

Tried renaming the mod/fops.o to mod/fops.o_shipped but as long as I understand this it's only related to "make clean"...

JasonMArcher
  • 14,195
  • 22
  • 56
  • 52
NULL
  • 31
  • 1

0 Answers0