Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Sep 2008 11:27:07 -0500
From:      Brooks Davis <brooks@freebsd.org>
To:        Sam Leffler <sam@errno.com>
Cc:        arch@freebsd.org
Subject:   Re: the more build knobs bikeshed
Message-ID:  <20080916162707.GA35096@lor.one-eyed-alien.net>
In-Reply-To: <48CF1979.90507@errno.com>
References:  <48CF1979.90507@errno.com>

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

--GvXjxJ+pjyke8COw
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Sep 15, 2008 at 07:27:05PM -0700, Sam Leffler wrote:
> Here is a patch against HEAD to add several knew MK_* knobs that can be=
=20
> used to trim the build for small-footprint applications:
>=20
> http://www.freebsd.org/~sam/build.patch
>=20
> With these changes I can build a nanobsd image for x86 or arm that is <1/=
2=20
> the size you can get otherwise (using just the standard knobs).  If you d=
o=20
> not use the knobs you should get exactly what you're used to getting.
>=20
> My goal in doing this is to make nanobsd more useful for building embedde=
d=20
> packages without bypassing the build process to purge stuff.  This is sti=
ll=20
> a LONG way from small enough to fit in many applications but seems like a=
=20
> useful start.
>=20
> FWIW I chose knobs using two criteria:
>=20
> 1. Does it save an appreciable amount of space.
> 2. Does it remove applications that you really don't want to be present.
>=20
> I'm sure folks will wonder about some choices.  One can also argue that=
=20
> some of the groups I've added are wrong and/or we should have individual=
=20
> knobs for each application.
>=20
> Separate issues that I intend to work on:
>=20
> 1. Build time is way too long; paring down the target config should also=
=20
> reduce the build time but it does not because things like MK_TOOLCHAIN=20
> cannot be used when building; only when installing.
> 2. Some applications that you want are hugely bloated and may benefit fro=
m=20
> some TLC.  bind comes to mind where I can crunchgen all the bits into a=
=20
> single binary but when built normally you get multiple huge executables.
> 3. Cross-build and package; I can use nanobsd to build arm images but the=
=20
> packaging facilities are inadequate.  I've got a start on default setups=
=20
> for some boards/packages and would like to see this grow into a library=
=20
> that people can use for reference and/or extend.
>=20
> Anyway,  I'm interested in getting the above patch committed so looking f=
or=20
> constructive comments.  I haven't included the files that go under=20
> src/tools/build/options (I've done them already).  I also have mods for=
=20
> RELENG_7 that I've been using for a while.

Looks generally good to me.  Some of us at AsiaBSDCon noted that most of
usr.sbin isn't useful on most system so this is a good step forward.

One minor dependency nit is that freebsd-update depends on
portsnap at the moment because both use phttpget which resides
in usr.sbin/portsnap/phttpget.  It should probably move to
libexec/phttpget.

-- Brooks

--GvXjxJ+pjyke8COw
Content-Type: application/pgp-signature
Content-Disposition: inline

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

iD8DBQFIz95aXY6L6fI4GtQRAn7qAJ4oEEfThlTlIv/Z4ddHEwS45BMUPQCfUDSM
YAreGYkcPv2Go8DXIMMlxAU=
=NEOQ
-----END PGP SIGNATURE-----

--GvXjxJ+pjyke8COw--



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