Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Jan 2000 00:09:43 +0100 (CET)
From:      Andrzej Bialecki <abial@webgiro.com>
To:        Andrew Hannam <famzon@bigfoot.com>
Cc:        small@freebsd.org, jkh@freebsd.org
Subject:   Re: One disk vs Two Disk (was Re: New approach to picobsd)
Message-ID:  <Pine.BSF.4.20.0001232335180.43769-100000@mx.webgiro.com>
In-Reply-To: <005001bf6588$09fb8760$0104010a@famzon.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 23 Jan 2000, Andrew Hannam wrote:

> > Do we need to do it in one disk?
> The answer is a resounding "YES" for as long as possible.

[lots of good suggestions]

> >From my investigations it has become apparent to me that the major cause of
> bloat has been the lack of a good system configurator (which I have solved
> for my floppy using a web server and shell script based cgi's). I believe
> the unified configuration project could be the long term solution to this
> problem.

Unfotunately, the UCI project is nothing more than the document, and even
this is outdated. OTOH, I still suspect that Whistle used something
similar in concept for their InterJets. :-)

> With this problem solved I was able to remove such things as ee and more.
> The command line then becomes purely an "advanced" user fixit system.

A couple of general thoughts:

* current method of building: the way we do it right now, with crunchgen,
is relatively simple as long as you use system programs with well-formed
Makefiles and consistent build process. But even here there are a couple
of tough cases, to say nothing about what happens if you try to
incorporate some external utility. Also, this method doesn't allow for any
modularity (adding/removing programs without the need to rebuild
everything from sources).

If we can come up with some method of modularizing it (similar to KLD
modules in binary form that you can load/unload from various media), then
the problem of one/two/many floppies will be much less acute - you'll
simply take everything from PicoBSD distro, and using cp/rm you adjust the
set of programs you want to have on the floppy. No need for fancy
configurator here, either, at least for the beginning.

But this requires some clear path for how to build external utilities
(e.g. from ports) so that they work in this model.

I don't have any clear picture how to do this. Last time I tried using
dynamic linking instead of static, it took so much more space that I gave
up immediately. Also, I didn't know how to minimize the set of symbols
from standard shared libraries to contain only those referenced by loaded
programs - if you don't do it, you need to use full standard libs which
are _big_. OTOH, if you strip them according to what you use in basic
setup, and if you want to add other program, which you build linking
against normal libraries, you can end up with missing symbols when you use
stripped down versions of libs. Then you would have to have a method for
adding needed symbols again to the libs... messy, messy.. Any suggestions?

* the step that we can already take is to make use of kernel modules,
instead of compiling everything into the kernel statically. Many ethernet
drivers can now be loaded on demand. We could include them on another,
"modules" floppy, freeing some space from the base floppies which would
contain the smallest subset of drivers possible. Then, you could download
the "base" floppy, "drivers" and combine them together to match your
hardware, without recompiling the whole stuff (which I see as a big
obstacle in using picobsd).

BTW, I think this is something to be considered for installation floppy as
well. Jordan, are you listening?

* incorporating more small, useful tools: recently I ported SASH which
will be great addition for setups like "router" floppy.

* learning from experience of other teams (various one- or more floppy
Linux projects - LRP, Trinux etc...). Frankly, I didn't have that much
time to look at them recently, and they also can have some good ideas.

Andrzej Bialecki

//  <abial@webgiro.com> WebGiro AB, Sweden (http://www.webgiro.com)
// -------------------------------------------------------------------
// ------ FreeBSD: The Power to Serve. http://www.freebsd.org --------
// --- Small & Embedded FreeBSD: http://www.freebsd.org/~picobsd/ ----




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-small" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.20.0001232335180.43769-100000>