NetBSD/distrib/utils/sysinst/TODO

126 lines
4.0 KiB
Plaintext

Things we should try and do before 1.3 release....
-- Add wrapper to install() and upgrade().
On abort, unmount any filesystems mounted by sysinst.
-- check for overlapping to-be-newfs'ed partitions before newfsing.
jump back to disklabel edit if any overlaps found.
needs to skip getrawpartition() (and c on i386).
-- Allow ^L to redraw the screen to get rid of error messages.
-- Also on error messages, do something to allow the user to
see any errors from anything run by run_prog(). Ideas are:
if (run_prog("foo") != 0)
sleep(5);
or:
endwin();
run_prog("foo");
printf("press return to continue");
getchar();
initscr();
or (modification of above):
endwin();
if (run_prog("foo") != 0) {
printf("press return to continue");
getchar();
}
initscr();
or:
Manually fork and exec everything, dup2 fd's 1 and 2
onto sockets in the child, and paginate the output in
your curses app :-)
Ideas from maximum entropy.
-- From "local" distribution set choice, have a separate
option for an already mounted filesystem (or a new option
all together?). "browse" for a local directory to get the
distribution set from. Maybe just allowing the user to shell
out and look around is good enough (this needs more thought).
-- Trap SIGINT and restore tty setting on exit.
-- check for already-mouned fileystems before install newfs.
Abort with message.
-- check for already-moutend fileystems before upgrade fsck.
(ignore?)
-- check for already-mounted filesystems before upgrade mount.
Continue, if device mount is where we wanted it?
(Jonathan ran into the above 3 by upgrading from a live
system to a scratch disk. sysinst copied the live /etc/fstab
to the target. The upgrade failed because sysinst wanted
to mount the active system's /usr. Could happen when a
real upgrade aborts, even running from ramdisk root.)
-- Use bootp or dhcp to get network info (hostname, domain name,
name servers, ...)
Things to do ....
-- Things like having config_network()
possibly use the information on the fixed disk instead of having
to ask everything.
-- Build the disktab as a profile, not a true /etc/disktab so it
doesn't overwrite the real disktab.
-- Have both ftp and floppy gets get the file, extract the file,
and then remove the file before going on to the next set to
save disk space.
-- Add setting timezone
-- Set current time and date.
-- Configure NTP servers, set NTP in rc.conf
-- A little more clean-up of the run_prog suite so things worke
nicely for all ports.
-- Check-in of files for amiga and other ports that will use
sysinst for 1.3.
-- fix "disklabel -r -w" vs. "disklabel -w": I still don't grok why
the -r, and the manpage says it will lose totally on sparcs.
Phil, was there some reason to bypass the incore label on i386?
Can we jst do "disklabel -w" everywhere?
-- Michael bumped the in-memory disklabel struct up to 16 entries.
Also add a runtime check in case that grows in future
(e.g., slices). Maybe bump to 32 entries just in case.
-- Fix sanity-check message code. It currently gets over-written
immediately by the following message.
-- check for disklabel edits changing active root partition.
reject.
-- remove any possibly-stale ld.so.cache files from the target
/etc after unpacking sets. Maybe just don't copy ld.so.cache
from /etc.old?
-- Set rc.configured.
Or at least remind users to edit rc.conf?
-- If we're doing a fresh install and there's already a label
on the disk, maybe use that intsead of the compiled-in default
label?
-- symlinks for /tmp (/tmp -> /var/tmp or some such)
Or configure tmp on mfs.
-- Add support for SLIP (for pc532) and/or PPP.