Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Jan 2000 23:06:41 -0500
From:      Bill Maniatty <maniattb@cs.rpi.edu>
To:        freebsd-hackers@freebsd.org
Cc:        maniatty@cs.albany.edu, maniattb@cs.rpi.edu
Subject:   Learning the FreeBSD Kernel
Message-ID:  <200001230406.XAA43423@cs.rpi.edu>

next in thread | raw e-mail | index | archive | help
Hello All:

I have a student this semester in my Operating Systems class who would like
to become a bit more knowledgeable about systems software.  I suggested
that he learn a bit about how device drivers are written in FreeBSD
as a minor project.  My questions are:

1) Does any current documentation of how to write and/or install a
   device driver exist in English (note C != English)?
   We would love to have a level documentation like the
   document by Pragmatic at http://thc.pimmel.com/files/thc/bsdkern.html,
   we are looking for a how to guide.

2) If no existing documentation exists, would it be a good idea to
   put together a sort of how to guide for a simple driver (with an
   eye to generalization later if warranted)?

3) If the answer to 2 is yes, can we get constructive help from the FreeBSD
   community?

Assuming that this constitutes an interesting project, what would be
a good initial approach?  I was considering:
1) Get and build the FreeBSD kernel (4.0?)
2) Choose a non-essential device with a simple preexisting driver.
3) Remove all trace of the driver from the kernel source.
4) Reapply the changes used to install the driver (perhaps one step at a time).
   We could suggest some simple sanity checks to support stepwise refinement.

If this is a good idea, I would like the following help from the FreeBSD
community:
1) Identify a simple driver (perhaps something like a joystick driver?)
2) Identify all source code associated with the driver (including configuration
   files, makefiles etc...).  Some files may have only one or two lines
   devoted to the driver, so we will need to know how to recognize such lines
   and would appreciate pointers to such lines.

Regards:

Bill Maniatty

|------------------------------------------|
|Dr. William (Bill) A. Maniatty            |
|Assistant Professor                       |
|Dept. of Computer Science                 |
|University At Albany                      |
|Albany, NY 12222                          |
|------------------------------------------|
|Phone:  (518) 442-4281                    |
|e-mail: maniatty@cs.albany.edu            |
|URL:    http://www.cs.albany.edu/~maniatty|
|------------------------------------------|




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200001230406.XAA43423>