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>
