Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Sep 2007 09:47:58 -0500
From:      Brooks Davis <brooks@freebsd.org>
To:        Erik Cederstrand <erik@cederstrand.dk>
Cc:        freebsd-performance@freebsd.org
Subject:   Re: Optimizing "make release"
Message-ID:  <20070924144758.GA60358@lor.one-eyed-alien.net>
In-Reply-To: <46F7A0CA.7040009@cederstrand.dk>
References:  <46F7A0CA.7040009@cederstrand.dk>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]
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

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (FreeBSD)

iD8DBQFG984dXY6L6fI4GtQRAqeCAKCXVcOUHLKgLOEkxy2xlTV9zordtgCgkofs
ExP9pdLMcpCbkUM5fJZ6XpU=
=kROl
-----END PGP SIGNATURE-----
help

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