Subject: CVS commit: basesrc
To: None <>
From: Todd Vierling <>
List: source-changes
Date: 10/18/2000 20:51:26
Module Name:	basesrc
Committed By:	tv
Date:		Wed Oct 18 17:51:26 UTC 2000

Modified Files:
	basesrc/distrib/utils/sysinst [netbsd-1-5]: defs.h disks.c install.c
	    label.c main.c mbr.c msg.mi.en net.c run.c target.c
	    upgrade.c util.c
	basesrc/distrib/utils/sysinst/arch/alpha [netbsd-1-5]: md.c
	basesrc/distrib/utils/sysinst/arch/amiga [netbsd-1-5]: md.c
	basesrc/distrib/utils/sysinst/arch/arm32 [netbsd-1-5]: md.c
	basesrc/distrib/utils/sysinst/arch/bebox [netbsd-1-5]: md.c
	basesrc/distrib/utils/sysinst/arch/hpcmips [netbsd-1-5]: md.c
	basesrc/distrib/utils/sysinst/arch/i386 [netbsd-1-5]: md.c md.h
	basesrc/distrib/utils/sysinst/arch/mac68k [netbsd-1-5]: md.c
	basesrc/distrib/utils/sysinst/arch/macppc [netbsd-1-5]: md.c
	basesrc/distrib/utils/sysinst/arch/news68k [netbsd-1-5]: md.c
	basesrc/distrib/utils/sysinst/arch/pc532 [netbsd-1-5]: md.c
	basesrc/distrib/utils/sysinst/arch/pmax [netbsd-1-5]: md.c
	basesrc/distrib/utils/sysinst/arch/sparc [netbsd-1-5]: md.c
	basesrc/distrib/utils/sysinst/arch/sparc64 [netbsd-1-5]: md.c
	basesrc/distrib/utils/sysinst/arch/vax [netbsd-1-5]: md.c
	basesrc/distrib/utils/sysinst/arch/x68k [netbsd-1-5]: md.c

Log Message:
Pullup (sync with HEAD not including xmisc set changes) [fvdl]:
Don't call test(1) to determine the existence/type of files, that's
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)).
On the i386, enable swapspace as soon as the disklabel has been written,
to play nice with low-memory systems.

Add a md_pre_update() hook, to do MD things before an upgrade operation.
On the i386, use it to enable swap.
Remove outdated comment.
Add a definition for md_init(), an MD function to initialize whatever
needs to be initialized before sysinst starts processing menus.
Call it from main().
[i386 only]
* In md_init, determine what kind of bootfloppy we are (either
  by checking uname, or the BOOTMODEL environment var), and set
  the kernel setname accordingly for some bootmodels (tiny and laptop),
  to install GENERIC_TINY and GENERIC_LAPTOP respectively. There's
  no sense in installing plain GENERIC, especially on "tiny" systems;
  it may not even make it far enough to add swapspace on 4M machines.
* Make sure to always install bootcode into the MBR (unless the user
  explicitly tells us not to). Should fix PR#8887, PR#9093, PR#9999
[non-i386 md.c files]
Add empty stubs for md_init().
Fix compare logic error in check for installation of seperate kernel

Add code to deal with moving a.out libraries to /emul/aout for
Add 2 defines for a.out library move code.
Externalize concat_paths, it is used by arch/i386/md.c now. Add
target_realpath prototype.
Add message for a.out library move failure case.
Add target_realpath(), a function that expands a pathname on the
"target" filesystem, i.e. a filesystem that will probably be
mounted on /mnt during install/upgrade, but will be / when
the system is booted. Needed to deal with absolute symbolic links.
This function is (unfortunately) a verbatim copy of realpath() from libc,
with prefix handling added.
Don't abort when trying to remove a directory marked as obsolete that does
not exist.
Create the disktab file directly, no need to waste precious inodes/space
in ramdisks with disktab.preinstall.
* Change the interface of run_prog: use a flags argument instead of
  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
  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.
Improve labelling a bit, by allowing some shortcuts to start partitions
where another one ends, and ending partitions where another one start,
or at the start of the disk / until the end of the disk.
Stress that if a match is found between a disk device and a BIOS disk,
you really should not be changing the geometry values, unless they
look totally ridiculous due to some BIOS bug.

Disable manual entering of initial partition label values when doing
a custom label. The step was redundant. Just go to the label edit
directly, leaving everything but the c and d partitions empty.
Adapt for format change in mbr editing header; it now always displays
the whole partition, and the total disksize.

To generate a diff of this commit:
cvs rdiff -r1.53.2.4 -r1.53.2.5 basesrc/distrib/utils/sysinst/defs.h
cvs rdiff -r1.31 -r1.31.4.1 basesrc/distrib/utils/sysinst/disks.c
cvs rdiff -r1.19.10.2 -r1.19.10.3 basesrc/distrib/utils/sysinst/install.c
cvs rdiff -r1.14 -r1.14.8.1 basesrc/distrib/utils/sysinst/label.c
cvs rdiff -r1.20 -r1.20.4.1 basesrc/distrib/utils/sysinst/main.c
cvs rdiff -r1.22 -r1.22.2.1 basesrc/distrib/utils/sysinst/mbr.c
cvs rdiff -r1.28.2.1 -r1.28.2.2 basesrc/distrib/utils/sysinst/
cvs rdiff -r1.62.2.7 -r1.62.2.8 basesrc/distrib/utils/sysinst/msg.mi.en
cvs rdiff -r1.58.2.3 -r1.58.2.4 basesrc/distrib/utils/sysinst/net.c
cvs rdiff -r1.30.4.1 -r1.30.4.2 basesrc/distrib/utils/sysinst/run.c
cvs rdiff -r1.22.10.2 -r1.22.10.3 basesrc/distrib/utils/sysinst/target.c
cvs rdiff -r1.20.10.2 -r1.20.10.3 basesrc/distrib/utils/sysinst/upgrade.c
cvs rdiff -r1.51.2.2 -r1.51.2.3 basesrc/distrib/utils/sysinst/util.c
cvs rdiff -r1.19 -r1.19.4.1 basesrc/distrib/utils/sysinst/arch/alpha/md.c
cvs rdiff -r1.1 -r1.1.4.1 basesrc/distrib/utils/sysinst/arch/amiga/md.c
cvs rdiff -r1.23 -r1.23.4.1 basesrc/distrib/utils/sysinst/arch/arm32/md.c
cvs rdiff -r1.15 -r1.15.4.1 basesrc/distrib/utils/sysinst/arch/bebox/md.c
cvs rdiff -r1.8 -r1.8.8.1 basesrc/distrib/utils/sysinst/arch/bebox/
cvs rdiff -r1.4 -r1.4.4.1 basesrc/distrib/utils/sysinst/arch/hpcmips/md.c
cvs rdiff -r1.1 -r1.1.4.1 \
cvs rdiff -r1.36.4.1 -r1.36.4.2 basesrc/distrib/utils/sysinst/arch/i386/md.c
cvs rdiff -r1.17.4.1 -r1.17.4.2 basesrc/distrib/utils/sysinst/arch/i386/md.h
cvs rdiff -r1.30.4.1 -r1.30.4.2 \
cvs rdiff -r1.19 -r1.19.4.1 basesrc/distrib/utils/sysinst/arch/i386/
cvs rdiff -r1.12 -r1.12.8.1 basesrc/distrib/utils/sysinst/arch/mac68k/md.c
cvs rdiff -r1.14 -r1.14.4.1 basesrc/distrib/utils/sysinst/arch/macppc/md.c
cvs rdiff -r1.2 -r1.2.4.1 basesrc/distrib/utils/sysinst/arch/news68k/md.c
cvs rdiff -r1.19 -r1.19.4.1 basesrc/distrib/utils/sysinst/arch/pc532/md.c
cvs rdiff -r1.38 -r1.38.4.1 basesrc/distrib/utils/sysinst/arch/pmax/md.c
cvs rdiff -r1.18 -r1.18.8.1 basesrc/distrib/utils/sysinst/arch/sparc/md.c
cvs rdiff -r1.1.2.1 -r1.1.2.2 basesrc/distrib/utils/sysinst/arch/sparc64/md.c
cvs rdiff -r1.10 -r1.10.8.1 basesrc/distrib/utils/sysinst/arch/vax/md.c
cvs rdiff -r1.5.4.2 -r1.5.4.3 basesrc/distrib/utils/sysinst/arch/x68k/md.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.