Home | History | Annotate | Line # | Download | only in sysinst
      1 #	$NetBSD: TODO,v 1.1 2014/07/26 19:30:44 dholland Exp $
      2 
      3 Things to do ....  in no specific order.
      4 
      5 	-- On error messages, do something to allow the user to
      6 	   see any errors from anything run by run_prog().
      7 	   Ideas suggested  maximum entropy <entropy (a] zippy.bernstein.com>.
      8 	   are:
      9 
     10 	   #1:
     11 		if (run_prog("foo") != 0)
     12 			sleep(5);
     13 
     14 	   #2:	   
     15 		endwin();
     16 		run_prog("foo");
     17 		printf("press return to continue");
     18 		getchar();
     19 		initscr();
     20 
     21 	   #3: (modification of #2):
     22 
     23 		endwin();
     24 		if (run_prog("foo") != 0) {
     25 			printf("press return to continue");
     26 			getchar();
     27 		}
     28 		initscr();
     29 
     30 	   #4:
     31 
     32 		Manually fork and exec everything, dup2 fd's 1 and 2
     33 		onto sockets in the child, and paginate the output in
     34 		your curses app :-)
     35 
     36 	   We currently implement a special-case variant of #1 for untarring
     37 	   release sets, since the GNU tar in 1.3 fails to report many
     38 	   errors in its exit status.
     39 
     40         -- "browse" for a local directory to get the
     41            distribution set from.  Maybe just allowing the user to shell
     42            out and look around is good enough (this needs more thought).
     43 
     44 	-- check for already-mounted filesystems before install newfs.
     45 	   Abort with message.
     46 
     47 	-- check for already-mounted filesystems before upgrade fsck.
     48 	   (ignore?)
     49 
     50 	-- check for already-mounted filesystems before upgrade mount.
     51 	   Continue, if device mount is where we wanted it?
     52 
     53 	    (Jonathan ran into the above 3 by upgrading from a live
     54 	    system to a scratch disk.  sysinst copied the live /etc/fstab
     55 	    to the target. The upgrade failed because sysinst wanted
     56 	    to mount the active system's /usr. Could happen when a
     57 	    real upgrade aborts, even running from ramdisk root.)
     58 
     59 	-- Handle ccd's and raid's during an upgrade.
     60 
     61         -- Use bootp or dhcp to get network info (hostname, domain name,
     62            name servers, ...)
     63 
     64 	-- Things like having config_network()
     65            possibly use the information on the fixed disk instead of having
     66            to ask everything.
     67 
     68         -- Build the disktab as a profile, not a true /etc/disktab so it
     69            doesn't overwrite the real disktab.
     70 
     71         -- Have both ftp and floppy gets get the file, extract the file,
     72            and then remove the file before going on to the next set to
     73            save disk space.
     74 
     75         -- Set current time and date.
     76 
     77 	-- Configure NTP servers, set NTP in rc.conf
     78 
     79 	-- On i386 (and others) allow for storing localtime in the RTC.
     80 	   Need to patch kernel variable with offset from UTC.  Any
     81 	   other kernel variables we might want to patch as well???
     82 
     83         -- A little more clean-up of the run_prog suite so things work
     84            nicely for all ports.
     85 
     86 	-- fix "disklabel -r -w" vs. "disklabel -w": I still don't grok why
     87            the  -r, and the manpage says it will lose totally on sparcs.
     88            Phil, was there some reason to bypass the incore label on i386?
     89            Can we just do "disklabel -w" everywhere?
     90 
     91 	-- Michael bumped the in-memory disklabel struct up to 16 entries.
     92  	   Also add a runtime check in case that grows in future 
     93 	   (e.g., slices).  Maybe bump to 32 entries just in case.
     94 
     95 	-- Fix sanity-check message code. It currently gets over-written
     96 	   immediately by the following message.
     97 
     98 	-- check for disklabel edits changing active root partition.
     99 	   reject.
    100 
    101 	-- remove any possibly-stale ld.so.cache files from the target
    102            /etc after unpacking sets. Maybe just don't copy ld.so.cache
    103            from /etc.old?
    104 
    105 	-- Full configuration of rc.conf?
    106 
    107 	-- If we're doing a fresh install and there's already a label
    108 	   on the disk, maybe use that instead of the compiled-in default
    109 	   label?
    110 
    111 	-- symlinks for /tmp (/tmp -> /var/tmp or some such)
    112 
    113 	-- Do non-standard installs from arbitrary tar files (?)
    114 
    115 	-- Install binary packages.  (possibly a second program
    116 	   run after installation.)
    117 
    118 	-- Provide the user a menu to select each installation step on
    119 	   its own. Currently there's no way to repeat steps or leave
    120 	   them out. (See the Debian installer for a good example.)
    121 
    122 	-- Allow the user to install binary snapshots available from releng.
    123 	   This could be done in the following way:
    124 		* list the available snapshots in ftp.NetBSD.org
    125 		  (eg.: ls /pub/NetBSD-daily/*/*/${ARCH} using ftp(1)).
    126 		* present the user with the possible selections (handle the
    127 		  case of zero options).
    128 		* set the variables and install via FTP showing first the
    129 		  FTP installation screen.
    130