11.1Sdholland# $NetBSD: TODO,v 1.1 2014/07/26 19:30:44 dholland Exp $ 21.1Sdholland 31.1SdhollandThings to do .... in no specific order. 41.1Sdholland 51.1Sdholland -- On error messages, do something to allow the user to 61.1Sdholland see any errors from anything run by run_prog(). 71.1Sdholland Ideas suggested maximum entropy <entropy@zippy.bernstein.com>. 81.1Sdholland are: 91.1Sdholland 101.1Sdholland #1: 111.1Sdholland if (run_prog("foo") != 0) 121.1Sdholland sleep(5); 131.1Sdholland 141.1Sdholland #2: 151.1Sdholland endwin(); 161.1Sdholland run_prog("foo"); 171.1Sdholland printf("press return to continue"); 181.1Sdholland getchar(); 191.1Sdholland initscr(); 201.1Sdholland 211.1Sdholland #3: (modification of #2): 221.1Sdholland 231.1Sdholland endwin(); 241.1Sdholland if (run_prog("foo") != 0) { 251.1Sdholland printf("press return to continue"); 261.1Sdholland getchar(); 271.1Sdholland } 281.1Sdholland initscr(); 291.1Sdholland 301.1Sdholland #4: 311.1Sdholland 321.1Sdholland Manually fork and exec everything, dup2 fd's 1 and 2 331.1Sdholland onto sockets in the child, and paginate the output in 341.1Sdholland your curses app :-) 351.1Sdholland 361.1Sdholland We currently implement a special-case variant of #1 for untarring 371.1Sdholland release sets, since the GNU tar in 1.3 fails to report many 381.1Sdholland errors in its exit status. 391.1Sdholland 401.1Sdholland -- "browse" for a local directory to get the 411.1Sdholland distribution set from. Maybe just allowing the user to shell 421.1Sdholland out and look around is good enough (this needs more thought). 431.1Sdholland 441.1Sdholland -- check for already-mounted filesystems before install newfs. 451.1Sdholland Abort with message. 461.1Sdholland 471.1Sdholland -- check for already-mounted filesystems before upgrade fsck. 481.1Sdholland (ignore?) 491.1Sdholland 501.1Sdholland -- check for already-mounted filesystems before upgrade mount. 511.1Sdholland Continue, if device mount is where we wanted it? 521.1Sdholland 531.1Sdholland (Jonathan ran into the above 3 by upgrading from a live 541.1Sdholland system to a scratch disk. sysinst copied the live /etc/fstab 551.1Sdholland to the target. The upgrade failed because sysinst wanted 561.1Sdholland to mount the active system's /usr. Could happen when a 571.1Sdholland real upgrade aborts, even running from ramdisk root.) 581.1Sdholland 591.1Sdholland -- Handle ccd's and raid's during an upgrade. 601.1Sdholland 611.1Sdholland -- Use bootp or dhcp to get network info (hostname, domain name, 621.1Sdholland name servers, ...) 631.1Sdholland 641.1Sdholland -- Things like having config_network() 651.1Sdholland possibly use the information on the fixed disk instead of having 661.1Sdholland to ask everything. 671.1Sdholland 681.1Sdholland -- Build the disktab as a profile, not a true /etc/disktab so it 691.1Sdholland doesn't overwrite the real disktab. 701.1Sdholland 711.1Sdholland -- Have both ftp and floppy gets get the file, extract the file, 721.1Sdholland and then remove the file before going on to the next set to 731.1Sdholland save disk space. 741.1Sdholland 751.1Sdholland -- Set current time and date. 761.1Sdholland 771.1Sdholland -- Configure NTP servers, set NTP in rc.conf 781.1Sdholland 791.1Sdholland -- On i386 (and others) allow for storing localtime in the RTC. 801.1Sdholland Need to patch kernel variable with offset from UTC. Any 811.1Sdholland other kernel variables we might want to patch as well??? 821.1Sdholland 831.1Sdholland -- A little more clean-up of the run_prog suite so things work 841.1Sdholland nicely for all ports. 851.1Sdholland 861.1Sdholland -- fix "disklabel -r -w" vs. "disklabel -w": I still don't grok why 871.1Sdholland the -r, and the manpage says it will lose totally on sparcs. 881.1Sdholland Phil, was there some reason to bypass the incore label on i386? 891.1Sdholland Can we just do "disklabel -w" everywhere? 901.1Sdholland 911.1Sdholland -- Michael bumped the in-memory disklabel struct up to 16 entries. 921.1Sdholland Also add a runtime check in case that grows in future 931.1Sdholland (e.g., slices). Maybe bump to 32 entries just in case. 941.1Sdholland 951.1Sdholland -- Fix sanity-check message code. It currently gets over-written 961.1Sdholland immediately by the following message. 971.1Sdholland 981.1Sdholland -- check for disklabel edits changing active root partition. 991.1Sdholland reject. 1001.1Sdholland 1011.1Sdholland -- remove any possibly-stale ld.so.cache files from the target 1021.1Sdholland /etc after unpacking sets. Maybe just don't copy ld.so.cache 1031.1Sdholland from /etc.old? 1041.1Sdholland 1051.1Sdholland -- Full configuration of rc.conf? 1061.1Sdholland 1071.1Sdholland -- If we're doing a fresh install and there's already a label 1081.1Sdholland on the disk, maybe use that instead of the compiled-in default 1091.1Sdholland label? 1101.1Sdholland 1111.1Sdholland -- symlinks for /tmp (/tmp -> /var/tmp or some such) 1121.1Sdholland 1131.1Sdholland -- Do non-standard installs from arbitrary tar files (?) 1141.1Sdholland 1151.1Sdholland -- Install binary packages. (possibly a second program 1161.1Sdholland run after installation.) 1171.1Sdholland 1181.1Sdholland -- Provide the user a menu to select each installation step on 1191.1Sdholland its own. Currently there's no way to repeat steps or leave 1201.1Sdholland them out. (See the Debian installer for a good example.) 1211.1Sdholland 1221.1Sdholland -- Allow the user to install binary snapshots available from releng. 1231.1Sdholland This could be done in the following way: 1241.1Sdholland * list the available snapshots in ftp.NetBSD.org 1251.1Sdholland (eg.: ls /pub/NetBSD-daily/*/*/${ARCH} using ftp(1)). 1261.1Sdholland * present the user with the possible selections (handle the 1271.1Sdholland case of zero options). 1281.1Sdholland * set the variables and install via FTP showing first the 1291.1Sdholland FTP installation screen. 130