Date: Mon, 20 Jun 2005 13:46:23 +0100 From: Brian Candler <B.Candler@pobox.com> To: Robert Watson <rwatson@FreeBSD.org> Cc: gnn@FreeBSD.org, Poul-Henning Kamp <phk@phk.freebsd.dk>, current@FreeBSD.org, Garance A Drosehn <gad@FreeBSD.org> Subject: Re: Summary: experiences with NanoBSD, successes and nits on a Soekris 4801 Message-ID: <20050620124623.GA1107@uk.tiscali.com> In-Reply-To: <20050620094835.Q19830@fledge.watson.org> References: <20050619155228.Y6413@fledge.watson.org> <66959.1119209763@critter.freebsd.dk> <m2br613i8n.wl%gnn@neville-neil.com> <p0621021dbedbfa4dd5ff@[128.113.24.47]> <20050620094835.Q19830@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jun 20, 2005 at 09:58:46AM +0100, Robert Watson wrote: > >Another thing I was thinking about was that we could have more > >components which trim themselves down based on #defines for something > >like MINIMALIST_USER or MINIMALIST_USERBIN . I almost tried that with > >the recent changes to `env', for instance. The new options I added are > >very nice, but they do add something like 20%-40% to the size of the > >executable. And someone putting together a minimal system could easily > >avoid writing scripts that need the new options. Hmm... unless we can make the manpages also update themselves conditionally, IMO it might be better to keep a separate tree of cut-down binaries. Can I offer a lateral suggestion on this thread: another option is to take a standard FreeBSD binary distribution and separate out the bits you want and those you don't. I wrote a tiny program using libarchive which does this: http://psg.com/~brian/software/tarsplit/ It's controlled by a simple config file, specifying which file patterns go into which output bins. The way I chose to split it, from the base.?? files I got: -rw-r--r-- 1 brian brian 12259050 May 9 11:49 splitbsd-5.4-base.tar.gz -rw-r--r-- 1 brian brian 3739936 May 9 11:49 splitbsd-5.4-bind.tar.gz -rw-r--r-- 1 brian brian 7895611 May 9 11:49 splitbsd-5.4-boot.tar.gz -rw-r--r-- 1 brian brian 17848825 May 9 11:49 splitbsd-5.4-devel.tar.gz -rw-r--r-- 1 brian brian 2085982 May 9 11:49 splitbsd-5.4-doc.tar.gz -rw-r--r-- 1 brian brian 287388 May 9 11:49 splitbsd-5.4-legacy.tar.gz -rw-r--r-- 1 brian brian 810702 May 9 11:49 splitbsd-5.4-netif.tar.gz -rw-r--r-- 1 brian brian 371588 May 9 11:49 splitbsd-5.4-nisker.tar.gz -rw-r--r-- 1 brian brian 663606 May 9 11:49 splitbsd-5.4-sendmail.tar.gz -rw-r--r-- 1 brian brian 1164703 May 9 11:49 splitbsd-5.4-text.tar.gz The -base package gives you a reasonably functional FreeBSD system, in 12MB compressed / 35MB 'du' uncompressed. Just add a kernel of your choice. When you re-run the same config against a newer distribution, say 5.5, then tarsplit indicates which files are new (filename don't match any pattern) and have gone (pattern doesn't match any file), which helps you keep the control file up to date incrementally. Now, if only I could tell for sure which files are GPL-tainted. Perhaps we could add a UFS flag for this :-) Regards, Brian.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050620124623.GA1107>