Linked by Thom Holwerda on Thu 1st Feb 2007 14:41 UTC, submitted by Oliver
FreeBSD "Linux has a large amount of device drivers for hardware not supported on FreeBSD, especially USB devices. Not rarely, such drivers have been written based on information derived by protocol sniffing, reverse engineering and the like. This makes the code highly undocumented, and renders the porting effort extremely error prone. To help with this task, I decided to start working on an emulation layer that would let us recompile the linux source code on FreeBSD, and provide a sufficiently complete emulation of the kernel APIs so that device drivers (or at least certain classes) could be used without modifications to their source code."
Permalink for comment 208217
To read all comments associated with this story, please click here.
RE[6]: license incompatiablity
by jimveta on Fri 2nd Feb 2007 02:29 UTC in reply to "RE[5]: license incompatiablity"
Member since:

Actually, AFAIK -- and someone correct me if I'm wrong -- the binary modules are NOT LINKED (even when "compiled against" or basically using the kernel source/headers from a specific distro). I think all drivers for *nix OSs are like that: they are essentially like *.o object files and are NOT LINKED until loaded into the kernel.

There is not a pre-established dependency in the *.ko or drivers of where to find its external functions. In other words, there is no nothing in the module themselves that state they strictly require a linux kernel. It's theoretically possible to load and link those modules against a different kernel. To "link" means to establish a dependency for symbol resolution. But in these cases, the drivers don't care where they find their external symbols as long as they're found.

On the other hand, compiling the modules into the kernel as part of the kernel boot image then distributing it, would I think violate the GPL.

Reply Parent Score: 1