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