Subject: Re: Release goo for 1.4.2_ALPHA
To: Todd Whitesel <toddpw@best.com>
From: Todd Whitesel <toddpw@best.com>
List: port-i386
Date: 02/06/2000 02:31:08
> After I get some sleep I will look into reworking i386/floppies/bootfloppy
> as a single-volume fdset. That should buy back enough space to take care
> of everything.

Okay... it turns out that this is true; I can actually use the unmodified
INSTALL config file, but then the first disk is precisely 1440K and the
fdset logic announces that disk 2 has 1440K free and creates a stunted
second disk.

So I commented out the ppp pseudo-device and now there is 10K free on disk 1.

I think we're set for 1.4.2, unless somebody adds even more stuff to the
INSTALL kernel.

As for the future, here's my take on it after screwing around with distrib
builds on alpha/arm32/i386/mac68k/macppc/sparc/sun3 in the last couple months:

  1. boot floppies: I think we should get used to the idea of a feature-ful
    "fdset" installer and a bootable CD-ROM installer as well as a maxed-out
    single-floppy installer that can at least handle a Joe User install.
    I certainly hope it will be quite some time before the system grows so
    much that we can't do at least a basic install with a single 1440K floppy;
    even then, there are strategies we can use to put up a menu interface from
    a single floppy and get the rest of the installer's miniroot from the same
    place as the distribution sets. And yes, there's always p-code, which I
    rather like, and it does make sense here.

  2. src/distrib/* could be unified a lot more than they are now. When I'm
    done with 1.4.2 and move the ArchFarm back to current, I'll get on it,
    if only to keep my sanity. I also want to automate the process of
    determining the correct geometry values for miniroots. Right now we get
    lots of spurious vnd overflows because of hardcoded numbers in Makefiles
    and kernel configs.

  3. sysinst. the main things it needs in order to kick ass are:
    a. Farm out the format/partition stuff to its own program. This is
	useful by itself for non-system disk setup, and gets 99% of the
	arch dependent sysinst code out of sysinst! We should make it as
	trivial as possible to get a barebones sysinst running on new arch's.
    b. Add a ``null'' format/partition module, so sysinst can cope with /mnt
	and whatever you put on it before running sysinst, or let you browse
	stuff you might want to mount there to install on. This makes weird
	multi-booting setups easier to handle; it can also simplify diskless
	installs by letting you netboot an install kernel, mount a blank root
	dir on the server, and populate the whole thing painlessly.
    c. Improve FTP install to stream directly into pax, thus removing the
	need for local disk to hold tarballs during install. If this worked,
	I bet NFS install would instantly become expendable.
    d. Enhance the media location menus to browse available devices (and
	their partitions) and server directories. Add options to things like
	mbrlabel so we can tell people "this looks like a DOS disk" _before_
	they try to mount it as EXT2FS...
    e. Automatic X11 setup. Probably can't go on the single-floppy installer :)
    f. Integrated binary packages. Shouldn't these appear in release(7) ??

  4. crunchbin. I think we should eliminate the duplicated code in utils/ that
	can get out of sync with libc and other parts of the main tree. There
	should be official #ifdef IN_INSTALLER (and perhaps IN_STANDALONE for
	the bootblocks!) macros available for use in the main tree; we should
	always use "reachover" builds when we use these macros -- same idea
	as the recent crypto cleanup. I figure that this will enable us to
	aggressively create small-code variants of everything on the install
	disk while keeping it manageable. The "libhack" concept works well in
	the short term, but it creates a continual maintenance problem after
	that. I'll be happier when we ditch it.

Todd Whitesel
toddpw @ best.com