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