GSOC 2013

Carl Delsey carl at FreeBSD.org
Fri Feb 22 18:11:19 UTC 2013


On 02/20/13 10:12, Ananya H wrote:
> Hello !
> I am Ananya , a second year undergrad student !  am new to the open source
> community but want to be able to contribute ! I intend to apply for gsoc
> this summer . I know c and am acquainted with system programming in Linux .
> I would like to extend my knowledge by delving deeper and am interested in
> writing device drivers and kernel programming ,even though my knowledge is
> minimal ! However I am willing to learn about the art of writing device
> drivers and would like to work on writing a device driver as a project for
> gsoc this summer ! I would like some suggestions on what steps I should
> take to get a start to eventually reach my goal for this summer
>
I would start by going through Chapter 9 - Writing FreeBSD Device
Drivers in the Architecture Handbook.
http://www.freebsd.org/doc/en_US.ISO8859-1/books/arch-handbook/devicedrivers.html
That will introduce you to the basics of loading drivers on FreeBSD.

After that, trying to write an actual driver of some sort would be worth
a try. You could write a driver for a pseudo device like a memory disk
or loop back device. There are existing drivers for these things in
FreeBSD (see man md and lo) to use as a reference.

If you want to write a driver for real hardware, make sure it is
something you can get documentation for. Parallel and serial ports used
to be popular devices to write experimental drivers for, but they are
becoming rare on PC's. You could write a driver for a USB device or a
common network card if you can get documentation. In this case, there
may be an existing driver in FreeBSD that you would have to disable so
that you don't conflict. This driver would also be useful to use as a
reference.

You will find that different types of hardware fits into the OS in
different ways, so that writing a network device driver is very
different from writing a storage device driver or USB device driver,
etc. If one type of device interests you more than others, I'd say start
with that. Each new type of device brings a new learning curve.

Regards,
Carl

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 897 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-drivers/attachments/20130222/e7c9ef9e/attachment.sig>


More information about the freebsd-drivers mailing list