View Single Post
  #6   (View Single Post)  
Old 22nd April 2009
BSDfan666 BSDfan666 is offline
Real Name: N/A, this is the interweb.
Banned
 
Join Date: Apr 2008
Location: Ontario, Canada
Posts: 2,223
Default

Quote:
Originally Posted by indienick View Post
I have just one, simple question: FreeBSD's online documentation has a few sections on programming kernel modules (syn. drivers), but would that knowledge carry over to other BSDs (namely OpenBSD)? Is the BSD kernel a standardized thing, across various BSDs?
The BSD projects may share some kernel level API's, but they've had a long time to diverge from each other.. no real effort was made to keep things compatible with each other.

FreeBSD for example has a totally different SCSI layer then the other BSD's.. They may still share some common code, it's becoming less easy to port drivers between them.. definitely not plug and play.

NetBSD and OpenBSD have a kernel module framework called lkm(4), it is supported by both.. but it simply offers a way for modules to be loaded, such modules are free to use kernel functions/symbols which again may not be available or compatible between the two systems.

Also, while OpenBSD does still support lkm(4).. it is not an active utilizer of it.. as jggimi said, the kernel is monolithic and all supported drivers are compiled into the default kernel binaries.

FreeBSD has deprecated lkm(4) in favour of their own framework.. they call it kld(4).

@bsdnewbie999, That kind of question could have been answered easily using a search engine.. was it really necessary to waste our time?

Last edited by BSDfan666; 22nd April 2009 at 04:02 PM.
Reply With Quote