Bolting Linux device drivers to FreeBSD kernel?

M. Warner Losh imp at bsdimp.com
Thu Sep 22 11:49:02 PDT 2005


In message: <200509221751.RAA07579 at sopwith.solgatos.com>
            Dieter <freebsd at sopwith.solgatos.com> writes:
: I have found the "project evil" interface for using a wintel
: device driver with a FreeBSD kernel.
: 
: But search as I may, I cannot find any information on how to bolt
: a Linux device driver to a FreeBSD kernel?

Presently, no such generic interface exists to do this that I'm aware
of.

I've made various attempts in the past to do this.  The amount of
variation between ABIs of the different Linux releases makes it
problematic to support binary Linux drivers on FreeBSD in a good,
generic fashion.  There's also some minor, but annoying, variation
between different vendors of Linux's ABI, but I think those are mostly
accidental (read bugs).

Souce level compatibility hasn't been something that I've seen done at
all.

There are a few binary blobs that have been produced that have been
made to run on FreeBSD.  In these cases, a FreeBSD driver has been
written to call into the binary blob.  The ltmdm port is one example
where this has been done fairly successfully.

I've tried to get some binary drivers working on FreeBSD in the past,
but ran into a peck of trouble trying to make them work.  Mostly
because the binary blob turned out to not be linux independent, and it
did things that assumed a linux kernel had setup up something in a
particular way which was hard to do with FreeBSD...

So your milage may vary.

Warner


More information about the freebsd-drivers mailing list