1# $NetBSD: TODO,v 1.24 2008/01/10 13:40:39 simonb Exp $ 2 3Things 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@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