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>