Optimizing "make release"

Brooks Davis brooks at freebsd.org
Mon Sep 24 07:48:03 PDT 2007


On Mon, Sep 24, 2007 at 01:34:34PM +0200, Erik Cederstrand wrote:
>  Hi!
> 
>  In an effort to run benchmarks on the latest CURRENT on a couple of slave 
>  machines, I need to build the distribution sets necessary for an NFS install 
>  as fast as possible (the slaves are installing over PXE), but still ending 
>  up with something as close as possible to a normal default installation on 
>  the slaves.
> 
>  Right now, I'm doing a very basic run to create the distribution sets (using 
>  a default make.conf and a 6.2-STABLE build machine):
> 
>  # /cd /usr/src
>  # csup /etc/current-supfile
>  # make buildworld
>  # cd /release
>  # make release BUILDNAME=CURRENT-YYYYMMDDHHMMSS CVSROOT=/home/ncvs 
>  CHROOTDIR=/home/chroot
> 
>  Using the above commands, a lot of stuff gets compiled unnecessarily, and 
>  the process takes 5-6 hours on a 2GHz P4. I'd like to cut that to 2 hours 
>  max. I tried to use some of the NO_* settings in make.conf, but it's not 
>  clear to me what I can omit. Some things are needed later in make release 
>  (e.g. NO_CXX) even though I don't need a C++ compiler on the slave systems. 
>  I also looked a ccache, but I consider it somewhat dangerous, since I need 
>  to have an absolutely correct, reproducible installation rather than a fast 
>  build.
> 
>  If I ignore documentation distfiles (will this affect benchmarks in any 
>  way?), AFAICT the only distribution sets I need are base, proflibs, kernels 
>  and (maybe) lib32. Is there a way to get "make release" to do just that? I'm 
>  open to other suggestions, of course.

To just create a working image you can just do:

make buildworld
make buildkernel
make DESTDIR=/target/directory installworld
make DESTDIR=/target/directory distribution
make DESTDIR=/target/directory installkernel

-- Brooks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-performance/attachments/20070924/8ddd90a8/attachment.pgp


More information about the freebsd-performance mailing list