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>

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

--bp/iNruPH9dso1Pn
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

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

To just create a working image you can just do:

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

-- Brooks

--bp/iNruPH9dso1Pn
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (FreeBSD)

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

--bp/iNruPH9dso1Pn--



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