on a set, instead of hardcoding the number of parts in sysinst (which gets
out of sync easily). The fdlast field of the distinfo struct has been
removed.
This solution is a bit simplistic but... anybody using the floppy
installation method will have to split sets himself (as we don't provide
them), so he will know which is the last one. Also, he will be able to
use whatever chunk size he wants.
Closes PR install/5050. Ok'ed by fvdl.
Use /var/db/obsolete instead of /etc/obsolete
etc/Makefile:
Create separate target "install-obsolete-files" to populate
/var/db/obsolete, instead of using "install-etc-files".
Makefile:
Add do-obsolete target, to run "cd etc && make install-obsolete-files",
and add this to BUILDTARGETS.
This moves the "obsolete files" creation from "distribution" to "build".
Per discussion with Andrew Brown.
- filenames in obsolete sets start with "./" not "/" (i changed that a
while ago, and forgot to update this)
- only call target_prefix() once, not for each filename parsed...
- look for obsolete lists in /etc/obsolete/%s instead of /dist/%s_obsolete
-e arg to abort after first error.
This means the extract process doesn't spew seemingly-endless
"No space left on device" if the destination partition fills.
and prompt the user for a new archive.
(No idea if this solves the infamous "sysinst random coredump" problem,
but it's worth a shot, and makes sense in any case)
Defaults to "ftp.netbsd.org"
- Replace make(1) and -D FTP_DIR with SYSINST_FTP_DIR.
Defaults to "pub/NetBSD/NetBSD-" + VER + "/" + MACH.
(FTP_DIR used to override "pub/NetBSD/NetBSD-", which meant the
path name had to contain the release version in it)
- Add make(1) and -D SYSINST_CDROM_DIR.
Defaults to "/" + mach.
- only append ftp_prefix to ftp_dir and cdrom_dir once, just after
the options are parsed. Do this in newly added set_defaults().
and some sparc64 fixes. details:
- new scripting_{,v}fprintf() that also write to the script log (if open).
- support of creation of LFS filesystems
- standard installs now allow one to choose which file systems to create,
out of the list of /usr, /var, /home, MFS /tmp, and swap. a / is always
created, but the rest all optional. [*]
- new disklabel method: use existing. this requires one to fill in the
mount points (and having at least a "/" is enforced).
- preservation of existing filesystems (at install) is supported.
- rewrote most of make_fstab(): the entire thing is generated from the
bsdlabel now, rather than hard coding / to 'a' and swap to 'b'. create
MFS /tmp if requested.
- if IPv6 support isn't present, don't display any ipv6 messages.
- better rc.conf support
- sparc & sparc64 default to "cylinders" now.
- choosing "standard" instead of "standard with X" de-selects the X pkgs
by default.
- sparc64: don't install bootblocks until we have a complete system, avoids
booting with no /dev/console.
- sparc64: bump STDNEEDMB, it is way low.
[*] i have added default values for DEFVARSIZE & DEFUSRSIZE (this is used
only if /usr and /home are selected) to each port, based on STDNEEDMB. as
such, my guesses might be wrong so port maintainers should look at these.
seperate booleans. Add flags to run as a plain 'system()' command,
fullscreen (but on a pty), and chrooted, and implement their
functionality. Add a bit of TIOCPKT handling code to handle
programs messing with term settings better.
* Ask to set the root password at the end of an install.
* Remove a few unneeded comments.
* Sprinkle some touchwin() calls here and there to make the output cleaner.
They shouldn't really be needed, but even normal usage (no syslog
messages) even left the screen messy sometimes.
* Change some messages around that were apparently swapped by accident and
thus caused confusion.
rather over the top. Not doing this also means that test(1) can
be omitted from the ramdisks (for scripts it's not needed, because it
is built in to sh(1)).
* If etc/localtime can't be readlink(3)'d, assume the default time zone is
UTC
* if errors occur (malloc, fts_open, fts_read, menu generation fails),
skip timezone setting instead of terminating sysinst.
(/mnt)/usr/share/zoneinfo in a listbox, and setting (/mnt)/etc/localtime
accordingly.
* Adjust for the needed menuc change un run.c's log_flip() and script_flip()
functions.
Related PRs:
5777 sysinst does not offer to tweak /etc/localtime
8099 changing the default time zone is non-obvious
9910 sysinst doesn't ask about setting timezone
installation would try to continue even if no networking interfaces found,
and, and, when that was fixed, instead of dropping back to the
pick-distribution-medium menu they'd drop all the way back to the opening
menu.
to the toplevel menu, as promised by the media selection menu, without
first going through an "installation is aborted" menu.
* when something causes the installation to fail (e.g. missing set or failure
to extract a set's contents), don't go through N menus
(missing/failed/aborted, sets didn't install/aborted,
sanity check failed/aborted) before getting back to the top level. The
user only needs to be told once that their life sucks.
screen as XXX. Where they were not followed by wclear(stdscr), add
wclear(stdscr). Somebody was let out without adult supervision. If i
were more adventurous, i'd remove the bits that output 'CL', but i'm not
gonna go there right now.