Date: Sat, 22 Apr 2000 16:00:15 -0500 (CDT) From: "Jeffrey S. Sharp" <jss@subatomix.com> To: papowell@astart.com Cc: freebsd-small <freebsd-small@FreeBSD.ORG> Subject: Re: [HEADS-UP] reviewers needed for repairs to PicoBSD - Message-ID: <Pine.BSF.4.21.0004221522260.31660-100000@lepton.subatomix.com> In-Reply-To: <200004211426.HAA19092@h4.private>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 21 Apr 2000 papowell@astart.com wrote: > > Use a 'config file' for options. See the /etc/rc.conf for an > example of how to do this. Have a set of defaults, and then > allow things to be overridden in the defaults file. What I'm working on is similar to that. I've got most everything centralized into a few configuration files. However, instead of going the defaults-and-override route, I've stolen an idea from OOP. I have a hierarchial tree of configurations (buildtypes, if you will) that is much like a class inheritance hierarchy in OOP. Each buildtype in the tree inherits configuration from its parent, and can override or add to that configuration. There is a single top-level buildtype (equivalent to Object in java or t in Lisp) that everything inherits from. You can do the defaults-and-override thing if you want by limiting your tree to depth 1. > Have flags that allow you to build images that have: > > a) MFS file system as part of the system image I hadn't planned on supporting that, but it probably wouldn't be that hard. > b) system image that asks for a floppy > that contains the MFS image > (needed for multiple floppy boots) That's just a specific thing you can do with your configuration. No special stuff is needed in the makefile or scripts to support that. > c) system image that asks for a FILE that > contains the MFS image > (great for debugging MFS stuff - you just remake > the MFS and retry. You can also use NFS and get > it remotely) Same as last comment. > d) 2Meg images that work with CDROMS - you do NOT > ask for MFS in this one. Same as last comment. > Modify the various configuration tools and make files so that > you can specify the location of stuff in a file - i.e. > > cmd -f from_this_file > > This allows you to put the configuration dependent things in the > config file and then you can have the entire tree separate. I'm not sure how that applies to the way I've got things set up. > Use configure to generate the various Makefiles, etc., so that > you can build your code in a separate location from the actual > source. Combining this with the configure thing allows you to > make/build multiple systems from the same image. Again, this might not apply well, but it's worth checking out. > Pay LOTS and LOTS and LOTS of attention to tracing what is going > on, diagnostics, Agreed. > tests for files missing, etc. Remember - > most of the users will NOT be experts, and even the experts > make mistakes. Big Mistakes. HORRIBLY embarassing mistakes. > Like copying the source for a file instead of the executable > and then spending a day wondering why it would not boot. This is a weak point in the design. By increasing flexibility, things have been made more generalized. The result is that more things have to be specified by the user, and there is a lot more room for error. When I get enough done so that I don't feel embarassed showing it to you all, and if it is accepted as a good thing, then this one area in which we will need to work. =============================== Jeffrey S. Sharp (XorAxAx) jss@subatomix.com -----BEGIN GEEK CODE BLOCK----- Version 3.12 GCS/IT/MU d-@ s-:+ a21 C++(++++) UBL+(+++$)> P L+(+++$)> E+> W++ N+(++) o? K? w++$> !O M(-) !V PS+ PE Y PGP- t+ 5 X+ R(+) tv+ b+ DI++(+++) G++ e> h--- r+++ y+++ ------END GEEK CODE BLOCK------ 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.21.0004221522260.31660-100000>