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
[-- Attachment #1 --] 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 > used to trim the build for small-footprint applications: > > http://www.freebsd.org/~sam/build.patch > > With these changes I can build a nanobsd image for x86 or arm that is <1/2 > the size you can get otherwise (using just the standard knobs). If you do > not use the knobs you should get exactly what you're used to getting. > > My goal in doing this is to make nanobsd more useful for building embedded > packages without bypassing the build process to purge stuff. This is still > a LONG way from small enough to fit in many applications but seems like a > useful start. > > FWIW I chose knobs using two criteria: > > 1. Does it save an appreciable amount of space. > 2. Does it remove applications that you really don't want to be present. > > I'm sure folks will wonder about some choices. One can also argue that > some of the groups I've added are wrong and/or we should have individual > knobs for each application. > > Separate issues that I intend to work on: > > 1. Build time is way too long; paring down the target config should also > reduce the build time but it does not because things like MK_TOOLCHAIN > cannot be used when building; only when installing. > 2. Some applications that you want are hugely bloated and may benefit from > some TLC. bind comes to mind where I can crunchgen all the bits into a > 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 > packaging facilities are inadequate. I've got a start on default setups > for some boards/packages and would like to see this grow into a library > that people can use for reference and/or extend. > > Anyway, I'm interested in getting the above patch committed so looking for > constructive comments. I haven't included the files that go under > src/tools/build/options (I've done them already). I also have mods for > 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 [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (FreeBSD) iD8DBQFIz95aXY6L6fI4GtQRAn7qAJ4oEEfThlTlIv/Z4ddHEwS45BMUPQCfUDSM YAreGYkcPv2Go8DXIMMlxAU= =NEOQ -----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080916162707.GA35096>
