Frequently Asked Questions for FreeBSD 2.X : For serious FreeBSD hackers only : How do I make my own custom release?
Previous: What are SNAPs and RELEASEs?
Next: How do I create customized installation disks?

13.2. How do I make my own custom release?

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.


Frequently Asked Questions for FreeBSD 2.X : For serious FreeBSD hackers only : How do I make my own custom release?
Previous: What are SNAPs and RELEASEs?
Next: How do I create customized installation disks?