From owner-freebsd-fs@FreeBSD.ORG Mon Jul 24 19:11:44 2006 Return-Path: X-Original-To: freebsd-fs@freebsd.org Delivered-To: freebsd-fs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6D5D516A4DA for ; Mon, 24 Jul 2006 19:11:44 +0000 (UTC) (envelope-from adamsch1@yahoo.com) Received: from web31814.mail.mud.yahoo.com (web31814.mail.mud.yahoo.com [68.142.206.167]) by mx1.FreeBSD.org (Postfix) with SMTP id 7A77E43D67 for ; Mon, 24 Jul 2006 19:11:43 +0000 (GMT) (envelope-from adamsch1@yahoo.com) Received: (qmail 68909 invoked by uid 60001); 24 Jul 2006 19:11:39 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:Received:Date:From:Reply-To:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type; b=ZZeQLpknGfpNulr4e+tBf3KjaeJsCjzTQV1/rZAVdSkL6GJQ4s2wl94L2XfMOBwzlEJ/vxP1SUX9r9zsyRS1f12T/hb1pExp/cDIclNmPUGd9G6K+xD6krpMyAJHeHEg93dJixqdKFWTJat0AyfsSPdp1fYv0rYnndrlGOa+aBM= ; Message-ID: <20060724191139.68907.qmail@web31814.mail.mud.yahoo.com> Received: from [207.126.230.225] by web31814.mail.mud.yahoo.com via HTTP; Mon, 24 Jul 2006 12:11:39 PDT Date: Mon, 24 Jul 2006 12:11:39 -0700 (PDT) From: Shane Adams To: Eric Anderson In-Reply-To: <44C51A47.20801@centtech.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: freebsd-fs@freebsd.org Subject: Re: Advice for hacking on ufs/ffs X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Shane Adams List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Jul 2006 19:11:44 -0000 Ah that makes sense, using an emulator so you can remote debug and step through the code. Nice. I had not heard of qemu, but I will check it out and see if i can get a similar setup working. nice suggestions thank you! I have debian running under vmware on my windows laptop, I wonder if I can remote debug what that platform. Something to look into. Cheers, Shane ----- Original Message ---- From: Eric Anderson To: Shane Adams Cc: freebsd-fs@freebsd.org Sent: Monday, July 24, 2006 12:06:47 PM Subject: Re: Advice for hacking on ufs/ffs On 07/24/06 13:52, Shane Adams wrote: > Hello, > > I'm a programmer that is new to kernel development. I'm interested in hacking around on UFS and FFS. I only have one machine so I copied the complete sys/ufs code to a new directory under fs, and changed a few things to get it to compile and mount. Everything works, and I was ready to start hacking without worrying so much about screwing up my system. > > Naturally I've rebooted the machine a few times since then, and I was wondering if anyone has advice for a fledgling kernel programmer. (Best practices) > > I read someplace that the UFS (some revision of the code) was written in userland then ported to the kernel. Is that how McKusick implemented softupdates or snapshots? The code is so dense I have trouble fathoming writing that much code in the mannor in which I've been tackling it. > > When I make a mistake, the machine freeze's, then reboots. I don't seem to get a kernel dump (or I'm not looking in the right location). > > Anway, kind of a broad question I know, just looking for a few tips! > > Cheers, > Shane Hi Shane! I'm in the same situation, and what I've done, is have a local copy of the cvs repo, then I check out (and/or update) a working copy into a separate directory, work on it, make changes, etc. Then I build (or build world, or whatever I need), and install to a mdconfig'ed disk image. Then, I boot qemu using that image, and run my tests, do debugging from the debugger, etc. I also nfs mount (using tap devices) the /usr/src in qemu from my separate checked out src tree on my local machine, so I can boot the qemu machine, and do buildworlds inside it (although it's slower). This seem to work very well for me, and I do all my development on my laptop while on-the-go. I too am tinkering with filesystems. Eric -- ------------------------------------------------------------------------ Eric Anderson Sr. Systems Administrator Centaur Technology Anything that works is better than anything that doesn't. ------------------------------------------------------------------------