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