Date: Mon, 24 Sep 2007 13:34:34 +0200 From: Erik Cederstrand <erik@cederstrand.dk> To: freebsd-performance@freebsd.org Subject: Optimizing "make release" Message-ID: <46F7A0CA.7040009@cederstrand.dk>
next in thread | raw e-mail | index | archive | help
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. Thanks, Erik
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46F7A0CA.7040009>