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