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>