best way to configure a machine for kernel development

Sean C. Farley scf at
Wed Nov 7 07:39:11 PST 2007

On Tue, 6 Nov 2007, Aryeh M. Friedman wrote:

> I decided to put my fingers where my mouth is and jump into kernel
> development instead of just complaining.   Configuring a machine
> properly to do this most effectivally I guess is the next step.   I
> only have one machine (I have some modest but non-critical production
> stuff that needs to continue working).   Some options I have come up
> with:
> 1. Just hack my current sources and keep diffs (some automated way
> would be nice of edit-->make diff)

The Committer's Guide has information[1] on how to setup your
environment to keep a local copy of CVS on your system.  You will need
to use a public CVSup server along with using the CVSup[2] tool, as
opposed to csup, since it supports CVS mode.  Begin with
/usr/share/examples/cvsup/cvs-supfile for obtaining the source.

After creating your local copy, you can checkout from this repository.
Now, you will have a way to make diff's easily.

I actually have a /usr/FreeBSD directory with multiple checkouts (HEAD,
RELENG_6 and RELENG_7).  This will involve you setting environment
variables correctly to use a non /usr/src directory.  Read build(7) for
more information.  Personally, I use a script[3] I wrote for building
and installing.

> 2. Use QEMU to create a development machine

Unfortunately, device driver development will need access to the actual
hardware.  QEMU will only provide the guest OS its own emulated devices.

> 3. Someone said something about unionfs and/or using a cvs mirror but
> I missed that completely missed that
> Any other suggestions.   Also since I tend to be a little slow on the
> learning curve can you also point me to some good howto/tutorials on
> what ever solution you suggest?

scf at

More information about the freebsd-current mailing list