jonathan fc3fa7cd7f Implement TODO item to unwind target mounts on completion:
* Add mount_with_unwind() that adds mountpoint to a LIFO queue
    of  mountpoints to undo on error.   Use in target_mount().
  * Add unwind_mounts() which traverses the LIFO queue and unmounts
    filesystems, silently ignoring errors.
  * create toplevel() function which displays banner message and
    calls unwind_mounts().
  * change toplevel menu to call toplevel() instead of inline banner.

Where to do unwinds needs more thought.  Perhaps we should only unwind
if an upgrade or install appears unsuccessful, so after a successful
install, the target is mounted (e.g., for upgrading /etc/rc.conf).
1997-12-04 09:05:35 +00:00
..

From: "Gordon W. Ross" <gwr>
Date: Tue, 3 Oct 95 16:37:39 EDT
Subject: New ramdisk, tiny shell, etc.
[ edited since the original mail ]

As part of my efforts to build a RAM-disk root kernel for the
sun3 port, I've developed some things that others may want:

New RAM-disk: [ see sys/dev/ramdisk.c ]

New "small/tiny" tools, to replace some of the larger
programs that one usually wants on a ramdisk root:

ssh: (small shell)
  * Consumes only about 8K of memory on an m68k!
    (saves about 100K in the ramdisk...)
  * Can run programs, possibly with I/O redirection
  * Just enough to let you run the programs needed
    while partitioning and copying miniroot to swap.

tls: (tiny ls)
  * Consumes only about 4K of memory on an m68k!
    (saves about 10K in the ramdisk...)
  * Long format only, nothing fancy.

Also, in the new "src/distrib/utils" area, I've made build
directories for some programs that build smaller versions,
usually by adding special CFLAGS

init_s:  (built with -DLETS_GET_SMALL)
  * Forces single-user mode
  * Eliminates unnecessary code

libhack:   small implementation of some libc functions
  * Needs only /etc/passwd (not pwd.db, spwd.db)
  * Reduces size of an m68k crunched binary by about 64K

x_dd:  built with -DNO_CONV (no conv=* options)

x_ifconfig:  supports inet only

The x_ prefix on the above is to make the names unique so
crunchgen will not confuse them with the real sources.