From owner-freebsd-questions@FreeBSD.ORG Fri Oct 21 01:39:34 2005 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C316516A41F for ; Fri, 21 Oct 2005 01:39:34 +0000 (GMT) (envelope-from peterclutton@gmail.com) Received: from xproxy.gmail.com (xproxy.gmail.com [66.249.82.198]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3FE8C43D5A for ; Fri, 21 Oct 2005 01:39:34 +0000 (GMT) (envelope-from peterclutton@gmail.com) Received: by xproxy.gmail.com with SMTP id t13so363395wxc for ; Thu, 20 Oct 2005 18:39:33 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=axFilK4Xwtt2CYy6HRRO1d7HgMe0TFqSAoqh/08KkyJMsj0RQyfxudbr3+BsY/hxw6HhZNVL1QrCjMUOOo5g7MQrOEN5G0KwMeV+I11+GtVB1mS6hwgeVfAQBl5jek2hqCnmEpYZNyoiwNksZYW5JXQt5IDpU1e3qtHeMNzXV9g= Received: by 10.70.118.3 with SMTP id q3mr1440631wxc; Thu, 20 Oct 2005 18:39:33 -0700 (PDT) Received: by 10.70.91.17 with HTTP; Thu, 20 Oct 2005 18:39:33 -0700 (PDT) Message-ID: <57416b300510201839g5a4170f6r8694594eb7de52a7@mail.gmail.com> Date: Fri, 21 Oct 2005 11:39:33 +1000 From: Peter Clutton To: FreeBSD Questions MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Subject: Learning to write FreeBSD Device Drivers X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Oct 2005 01:39:34 -0000 Hi everyone, hope this isn't too off topic. I'm a sysadmin who taught myself programming (and have worked as a PHP ad MYSQL developer) and really want to develop my FreeBSD skills, and hopefully one day be able to give something back to FreeBSD. I want to start writing device drivers, and would love any pointers to resources and tips from anyone. At the moment I'm reading a good C primer, along with The Design and Implementation of The FreeBSD Operating System ( a great book), and browsing the relevant sections in the Handbook and the source code. I'm wondering what else i could look at to help "join the ends" if you know what i mean. I know there is a comprehensive book on writing device drivers for Linux, would it help conceptually, or at all (i know the system calls are different) to read this as a beginning? Would looking at two drivers for the same hardware, for Linux and FreeBSD, looking at the difference, and maybe first try porting a new one be a good idea? Are there any other good resources anyone could point me to? I hope you don't think I'm too focused on linux resources, if I wanted to take the easy way, I'd be interested in it, but i much prefer FreeBSD. Any tips or pointers to resources would be much appreciated!! Thanks in adv= ance.