diff options
author | Kenneth R Westerback <krw@cvs.openbsd.org> | 2002-07-27 04:05:10 +0000 |
---|---|---|
committer | Kenneth R Westerback <krw@cvs.openbsd.org> | 2002-07-27 04:05:10 +0000 |
commit | d772ad24c2b6742a9e9bc9ec738fc38a4d399ca7 (patch) | |
tree | f4d1042005a11b8c1872ba03e09b5f99580529ac | |
parent | 8cfde2b5e6b12d3dbcf731cad47ba0d686f35b21 (diff) |
Fix two problems.
1) Even if /sbin/mount_nfs is present, do *not* try to automatically
mount nfs file systems. Because not all name resolution mechanisms are
present during upgrade (e.g. yp) it is not safe to do so. The user
must manually mount nfs file systems if they are the source of any
sets. Problem noted by miod@, change seconded by deraadt@.
2) Change initial verbiage so that a brief introduction is displayed,
along with the information about !foo or !, before the terminal type
is requested. After the terminal type is known display the rest of
the introductory text using less -XE. This belts and suspender fix
makes both the install and upgrade text fit in 'page' size (<24 lines)
chunks and ensures that if the text ever grows beyond a page a more
informative prompt is displayed. Problem noted by millert@.
-rw-r--r-- | distrib/miniroot/install.sub | 64 | ||||
-rw-r--r-- | distrib/miniroot/upgrade.sh | 8 |
2 files changed, 41 insertions, 31 deletions
diff --git a/distrib/miniroot/install.sub b/distrib/miniroot/install.sub index d72cd516a34..24422720ee8 100644 --- a/distrib/miniroot/install.sub +++ b/distrib/miniroot/install.sub @@ -1,4 +1,4 @@ -# $OpenBSD: install.sub,v 1.249 2002/07/22 00:13:01 krw Exp $ +# $OpenBSD: install.sub,v 1.250 2002/07/27 04:05:08 krw Exp $ # $NetBSD: install.sub,v 1.5.2.8 1996/09/02 23:25:02 pk Exp $ # # Copyright (c) 1997-2002 Todd Miller, Theo de Raadt, Ken Westerback @@ -96,11 +96,18 @@ set_term() { welcome_banner() { cat << __EOT -Welcome to the OpenBSD/${ARCH} ${VERSION_MAJOR}.${VERSION_MINOR} ${MODE} program. +As with anything that modifies your disk's contents, this program can +cause SIGNIFICANT data loss, and you are advised to make sure your +data is backed up before beginning the installation process. -This program will help you ${MODE} OpenBSD in a simple and rational way. -__EOT +Default answers are displayed in brackets after the questions. You can +hit Control-C at any time to quit, but if you do so at a prompt, you +may have to hit return. Also, quitting in the middle of an ${MODE} may +leave your system in an inconsistent state. +If you hit Control-C and restart the ${MODE}, the ${MODE} program will +remember many of your old answers. +__EOT if [ "$MODE" = "upgrade" ]; then cat << __EOT @@ -117,24 +124,6 @@ have your disk's hardware manual, the installation notes, and a calculator handy. __EOT fi - - cat << __EOT - -As with anything that modifies your disk's contents, this program can -cause SIGNIFICANT data loss, and you are advised to make sure your -data is backed up before beginning the installation process. - -Default answers are displayed in brackets after the questions. You can -hit Control-C at any time to quit, but if you do so at a prompt, you -may have to hit return. Also, quitting in the middle of an ${MODE} may -leave your system in an inconsistent state. - -If you hit Control-C and restart the ${MODE}, the ${MODE} program will -remember many of your old answers. - -At any prompt except password prompts you can run a shell command by -typing '!foo', or escape to a shell by typing '!'. -__EOT } get_dkdevs() { @@ -1644,13 +1633,18 @@ munge_fstab() { # Skip noauto filesystems. case $_opt in - *noauto*) - continue ;; + *noauto*) continue ;; esac # Skip filesystems we can't mount. [ -f "/sbin/mount_${_fstype}" ] || continue + # Skip nfs filesystems because all name + # resolutions (e.g. yp) are not available + # and success is not guaranteed. The user + # will have to mount nfs filesystems manually. + [ "$_fstype" != "nfs" ] || continue + # Remove any softdep options, as soft updates are not # available in the ramdisk kernels. _opt="$(echo ${_opt} | \ @@ -2026,8 +2020,25 @@ fi trap 'cleanup_on_exit' EXIT trap 'exit 2' HUP INT QUIT TERM + +# Introduce ourselves. +cat << __EOT + +Welcome to the OpenBSD/${ARCH} ${VERSION_MAJOR}.${VERSION_MINOR} ${MODE} program. + +This program will help you ${MODE} OpenBSD in a simple and rational way. + +At any prompt except password prompts you can run a shell command by +typing '!foo', or escape to a shell by typing '!'. + +__EOT + +# Deal with terminal issues now, so 'less' can print meaningfull prompt if +# messages are >1 page long. +set_term + # Good {morning,afternoon,evening,night}. -welcome_banner | more +welcome_banner | less -XE if [ -f /etc/fstab -a "$MODE" = "install" ]; then cat << __EOT @@ -2054,6 +2065,3 @@ __EOT exit ;; esac - -# Deal with terminal issues -set_term diff --git a/distrib/miniroot/upgrade.sh b/distrib/miniroot/upgrade.sh index 231ac331944..2736acde3c2 100644 --- a/distrib/miniroot/upgrade.sh +++ b/distrib/miniroot/upgrade.sh @@ -1,5 +1,5 @@ #!/bin/sh -# $OpenBSD: upgrade.sh,v 1.39 2002/07/18 00:36:44 krw Exp $ +# $OpenBSD: upgrade.sh,v 1.40 2002/07/27 04:05:09 krw Exp $ # $NetBSD: upgrade.sh,v 1.2.4.5 1996/08/27 18:15:08 gwr Exp $ # # Copyright (c) 1997-2002 Todd Miller, Theo de Raadt, Ken Westerback @@ -143,8 +143,10 @@ change the order in which the filesystems are mounted. NOTE: 1) the edited fstab will be used only during the upgrade. It will not be copied back into the root filesystem. - 2) Filesystems with a 'noauto' option or for which no /sbin/mount_XXX - can be found will not be mounted. + 2) A filesystem will not be mounted if + a) the 'noauto' option is present, + b) /sbin/mount_<fstype> is not found, + c) the fstype is nfs. 3) Non-ffs filesystems will be mounted read-only. |