From owner-freebsd-current@FreeBSD.ORG Sun Jun 19 21:36:14 2005 Return-Path: X-Original-To: current@FreeBSD.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B470716A41C; Sun, 19 Jun 2005 21:36:14 +0000 (GMT) (envelope-from fullermd@over-yonder.net) Received: from mortis.over-yonder.net (adsl-222-78-106.jan.bellsouth.net [68.222.78.106]) by mx1.FreeBSD.org (Postfix) with ESMTP id 67D0343D55; Sun, 19 Jun 2005 21:36:14 +0000 (GMT) (envelope-from fullermd@over-yonder.net) Received: by mortis.over-yonder.net (Postfix, from userid 100) id B8A8C20FE0; Sun, 19 Jun 2005 16:36:12 -0500 (CDT) Date: Sun, 19 Jun 2005 16:36:12 -0500 From: "Matthew D. Fuller" To: Poul-Henning Kamp Message-ID: <20050619213612.GD8597@over-yonder.net> References: <20050619155228.Y6413@fledge.watson.org> <66959.1119209763@critter.freebsd.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <66959.1119209763@critter.freebsd.dk> X-Editor: vi X-OS: FreeBSD User-Agent: Mutt/1.5.9i-fullermd.2 Cc: Robert Watson , current@FreeBSD.org Subject: Re: Summary: experiences with NanoBSD, successes and nits on a Soekris 4801 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Jun 2005 21:36:14 -0000 On Sun, Jun 19, 2005 at 09:36:03PM +0200 I heard the voice of Poul-Henning Kamp, and lo! it spake thus: > > The major obstacle is the "cutting things down to size" process > using NO_FOO options. I have to wonder if exclusion is a better route than inclusion. I've got several Soekris boxes (4501) out in production, running I think a 4.7ish FreeBSD. But I built up the images by including things in. I did a full normal buildworld, and a DESTDIR'd installworld. I didn't use any special options to trim out pieces of programs; just a few simple tweaks like -Os compiling Then I used a list of the programs, and used some ldd'ing and sed'ing in the Makefile to get all the libraries needed and copy everything over to another staging dir. Of course, manual tweaking for config files was needed. I handwrote the whole rc bootup process (independant scripts for ease of manual fiddling, but with a hardcoded sequence for the bootup process). Hand-trimmed passwd/group files. I had to pull some libraries manually (PAM was the major "offender" here). And so on; not stuff that would really fit in the NanoBSD schema. I built them rather more general than the project required, so I wouldn't have to carefully craft each future use; they had everything necessary to do most networking jobs you'd stick a 4501 in for. It still came in around around the 20 meg line. I found that it was a lot easier to say "Yeah, I want that" than "No, I don't want that" and end up with a useful end-product. Of course, having it all in Makefiles so I could just add another program to the list of ${SBINFILES} or the like, and run another ~10 seconds of find'ing and cp'ing, made it easier. Everything was otherwise built normally, so there weren't unexpected things like "Whoops, PPP can't do internal NAT anymore" or other non-standard behavior. The downside was mostly all the manual fiddling necessary on /etc to fit. -- Matthew Fuller (MF4839) | fullermd@over-yonder.net Systems/Network Administrator | http://www.over-yonder.net/~fullermd/ On the Internet, nobody can hear you scream.