# $NetBSD: TODO,v 1.12 1998/09/17 04:11:54 phil Exp $ Things to do .... in no specific order. - rework the fdisk/MBR code to be able to get the correct MBR geometry with much better probability. -- On error messages, do something to allow the user to see any errors from anything run by run_prog(). Ideas suggested maximum entropy . are: #1: if (run_prog("foo") != 0) sleep(5); #2: endwin(); run_prog("foo"); printf("press return to continue"); getchar(); initscr(); #3: (modification of #2): endwin(); if (run_prog("foo") != 0) { printf("press return to continue"); getchar(); } initscr(); #4: Manually fork and exec everything, dup2 fd's 1 and 2 onto sockets in the child, and paginate the output in your curses app :-) We currently implement a special-case variant of #1 for untarring release sets, since the GNU tar in 1.3 fails to report many errors in its exit status. -- "browse" for a local directory to get the distribution set from. Maybe just allowing the user to shell out and look around is good enough (this needs more thought). -- check for already-mouned fileystems before install newfs. Abort with message. -- check for already-moutend fileystems before upgrade fsck. (ignore?) -- check for already-mounted filesystems before upgrade mount. Continue, if device mount is where we wanted it? (Jonathan ran into the above 3 by upgrading from a live system to a scratch disk. sysinst copied the live /etc/fstab to the target. The upgrade failed because sysinst wanted to mount the active system's /usr. Could happen when a real upgrade aborts, even running from ramdisk root.) -- Use bootp or dhcp to get network info (hostname, domain name, name servers, ...) -- Things like having config_network() possibly use the information on the fixed disk instead of having to ask everything. -- Build the disktab as a profile, not a true /etc/disktab so it doesn't overwrite the real disktab. -- Have both ftp and floppy gets get the file, extract the file, and then remove the file before going on to the next set to save disk space. -- Add setting timezone -- Set current time and date. -- Configure NTP servers, set NTP in rc.conf -- A little more clean-up of the run_prog suite so things worke nicely for all ports. -- Check-in of files for amiga and other ports that will use sysinst for 1.3. -- fix "disklabel -r -w" vs. "disklabel -w": I still don't grok why the -r, and the manpage says it will lose totally on sparcs. Phil, was there some reason to bypass the incore label on i386? Can we jst do "disklabel -w" everywhere? -- Michael bumped the in-memory disklabel struct up to 16 entries. Also add a runtime check in case that grows in future (e.g., slices). Maybe bump to 32 entries just in case. -- Fix sanity-check message code. It currently gets over-written immediately by the following message. -- check for disklabel edits changing active root partition. reject. -- remove any possibly-stale ld.so.cache files from the target /etc after unpacking sets. Maybe just don't copy ld.so.cache from /etc.old? -- Full configuration of rc.conf? -- If we're doing a fresh install and there's already a label on the disk, maybe use that intsead of the compiled-in default label? -- symlinks for /tmp (/tmp -> /var/tmp or some such) Or configure tmp on mfs. -- Add support for SLIP (for pc532) and/or PPP. -- Do non-standard installs from arbitrary tar files (?) -- Install ports packages. (possibly a second program run after installation.)