Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Feb 2013 11:09:55 -0700
From:      Carl Delsey <carl@FreeBSD.org>
To:        freebsd-drivers@freebsd.org
Subject:   Re: GSOC 2013
Message-ID:  <5127B473.1070604@FreeBSD.org>
In-Reply-To: <CA%2BOH21-fdqCTAGj7cKrvYDAWer-kW_Z=%2BcSw3V9t_a=TcaHTdw@mail.gmail.com>
References:  <CA%2BOH21-fdqCTAGj7cKrvYDAWer-kW_Z=%2BcSw3V9t_a=TcaHTdw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig90672C79AC47128B022DD3AE
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 02/20/13 10:12, Ananya H wrote:
> Hello !
> I am Ananya , a second year undergrad student !  am new to the open sou=
rce
> community but want to be able to contribute ! I intend to apply for gso=
c
> this summer . I know c and am acquainted with system programming in Lin=
ux .
> 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/devicedriv=
ers.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


--------------enig90672C79AC47128B022DD3AE
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)
Comment: Using GnuPG with undefined - http://www.enigmail.net/

iQIcBAEBAgAGBQJRJ7SDAAoJEGAx6WP7O104pIkP/2huicF2qL/ZVKBqf/luxWA8
Ny1/oSxzC0NuQccnVMl6KvTjCRcwb/cVUzIOFONFuBhJu77YaPmhJcWuKX6vCk77
Kv5+/WnA793ufcIKeiqUgY1daBCg6m/31ZhRLPCpZt2DHYRzg6O+DFkDjly39inE
TJIiEwPLyyKurUAL+27akAS0zFBYh0tzrYlBmYmG5Zji7f6gccbZzsCEW2OI+GLy
a1gFwkuz1mZ5oGq0wJ9yRIeI8BloRuGOyd8fOsDDcvB78TNe+D5aeSkGQ8VOJksa
U9e6dEce5gfrfMLlzsQQaDKvCnU3QBGes2z2lYvzses2BH7lHYGfLbdxCNZ4JqzT
30gMTTFW5Rl8tQTVmc49HDCPbR28mNBp/7u9b7cO3XsQ/xjMXeHQMCe4P/tSEXwS
uiF+mN9ARQUJre5+P6uZeXFs1h9pj+LeLKX1CgMuCc/aE/nmDKDX6i5FZtrBdLC5
f3skD5SHCA3HrCEjKTeQ9ZW0UtEEqPTyf3aZHRGqdRw9CkeEkurzp0wQaOzUGv4j
pr51uDKN72YFjl5IetuO3I40VRlmoAUHdn4R3+Gf8QGzpSJ/ZC/l7SjThBuiqKyZ
Ui5iMQn20clrd1azwJqAoF5osyo82EwF7v8Ct4uWLhqY7RP6RvjsY/i+70rfO7mS
+7A0+dHVBqBROKadOA9g
=iTuk
-----END PGP SIGNATURE-----

--------------enig90672C79AC47128B022DD3AE--



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