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>