Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Jan 1999 23:28:37 -0500
From:      W Gerald Hicks <wghicks@bellsouth.net>
To:        Christian Kuhtz <ck@adsu.bellsouth.com>
Cc:        freebsd-current@FreeBSD.ORG
Subject:   Re: how to snapshoot :) 
Message-ID:  <199901180428.XAA49378@bellsouth.net>
In-Reply-To: Your message of "Sun, 17 Jan 1999 19:31:05 EST." <19990117193105.G97318@oreo.adsu.bellsouth.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Chris,

You've got ports/net/cvsup-mirror installed and functional right?

That is the best way I know to keep up a local repository,
which is also a prerequisite for spinning a release.

The other necessity is to have gobs of disk space.  It's recommended
to have no less than 1GB free disk space on the drive to build the
image.  I like to leave a healthy margin above that too.

You'll be happier with a fast system and lots of ram, but that
isn't a strict requirement if you're patient enough   ;-)

First thing to do is get through a make {build,install}world
and leave the objects generated in /usr/obj

I'd recommend *not* building the docs and ports from within your
first 'make release' attempts (more on ports later).  It's a bit
tricky sometimes if you have transient internet access to get
the distfiles thing right.

Here's the script I use:

#!/bin/sh
cd /usr/src/release
mkdir /usr/local/FreeBSD-GEN || exit 1
CVSROOT=/home/ncvs
export
nice nohup make NOPORTS=yes NODOCS=yes RELEASENAME=3.0-CURRENT \
CHROOTDIR=/usr/local/FreeBSD-GEN release 2>&1 > /var/tmp/release.log &
tail -f /var/tmp/release.log
# end of script

To me, the really interesting part about the release generation
process is how it's done inside of a chrooted environment.  Once
you've generated your target images, this environment is left behind
as an artifact in /usr/local/FreeBSD-GEN (for my example). 

If you're interested in prebuilding packages for later installations
this is most convenient.  You'll need to either copy relevant 
distfiles into /usr/local/FreeBSD-GEN/usr/ports/distfiles or be sure
to establish internet connectivity before doing something like this:

# cd /usr/local/FreeBSD-GEN/
# pwd
/usr/local/FreeBSD-GEN
# chroot . /bin/sh
# pwd
/
# cd /usr/ports/devel/gmake && make package
# exit 
# pwd
/usr/local/FreeBSD-GEN

A working null filesystem layer would be useful here for distfiles,
but I'm not smart enough to fix it.  :-(

I try to leave everything intact in the target directory between builds,
just in case I need to go hack together a special boot floppy or something.
It's been a great help for us on several occasions.  This environment
is also where I generate custom PicoBSD images for a few special things
were doing here.

Hope all this is reasonably correct and helps  :-)

Feel free to drop me a line if you get stuck or need any clarification.

Cheers,

Jerry Hicks
wghicks@bellsouth.net


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199901180428.XAA49378>