To make a release you need to do three things: First, you need to be running a kernel with the vn driver configured in. Add this to your kernel config file and build a new kernel:
pseudo-device vn #Vnode driver (turns a file into a device)
Second, you have to have the whole CVS repository at hand. To get this you can use CVSUP but in your supfile set the release name to cvs and remove any tag or date fields:
*default prefix=/home/ncvs *default base=/a *default host=cvsup.FreeBSD.org *default release=cvs *default delete compress use-rel-suffix ## Main Source Tree src-all src-eBones src-secure # Other stuff ports-all www doc-all
Then run cvsup -g supfile
to suck all the good bits onto your
box...
Finally, you need a chunk of empty space to build into. Let's
say it's in /some/big/filesystem
, and from the example
above you've got the CVS repository in /home/ncvs
:
setenv CVSROOT /home/ncvs # or export CVSROOT=/home/ncvs cd /usr/src/release make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/some/big/filesystem/release
An entire release will be built in
/some/big/filesystem/release
and you will have a full FTP-type
installation in /some/big/filesystem/release/R/ftp
when you're
done. If you want to build your SNAP along some other branch than
-current, you can also add RELEASETAG=SOMETAG
to
the make release command line above, e.g. RELEASETAG=RELENG_2_2
would build an up-to-the- minute 2.2-STABLE snapshot.