From 6d02d4cbc5d0a809f467f161a4cdfd5a4bd55127 Mon Sep 17 00:00:00 2001 From: Nathan Whitehorn Date: Sat, 17 Sep 2011 09:25:45 +0000 Subject: [PATCH] Inquire about terminal type if starting from a serial console and do not configure the host's networking if netbooted [1]. Also fix FTP installations behind some firewalls [2]. PR: bin/159583 [2] Reported by: stas [1] Approved by: re (kib) --- release/rc.local | 28 ++++++++++++++++++++++++++-- usr.sbin/bsdinstall/scripts/auto | 10 ++++------ 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/release/rc.local b/release/rc.local index d583381446f5..1816f382612b 100755 --- a/release/rc.local +++ b/release/rc.local @@ -8,13 +8,37 @@ : ${DIALOG_ITEM_HELP=4} : ${DIALOG_ESC=255} -TERM=xterm; export TERM # XXX: serial consoles +kbdcontrol -d >/dev/null 2>&1 +if [ $? -eq 0 ]; then + # Syscons: use xterm + TERM=xterm +else + # Serial or other console + echo + echo "Welcome to FreeBSD!" + echo + echo "Please choose the appropriate terminal type for your system." + echo "Common console types are:" + echo " ansi Standard ANSI terminal" + echo " vt100 VT100 or compatible terminal" + echo " xterm xterm terminal emulator (or compatible)" + echo + echo -n "Console type [vt100]: " + read TERM + TERM=${TERM:-vt100} +fi +export TERM dialog --backtitle "FreeBSD Installer" --title "Welcome" --extra-button --extra-label "Shell" --ok-label "Install" --cancel-label "Live CD" --yesno "Welcome to FreeBSD! Would you like to begin an installation or use the live CD?" 0 0 case $? in $DIALOG_OK) # Install - BSDINSTALL_CONFIGCURRENT=yes; export BSDINSTALL_CONFIGCURRENT + # If not netbooting, have the installer configure the network + dlv=`/sbin/sysctl -n vfs.nfs.diskless_valid 2> /dev/null` + if [ ${dlv:=0} -eq 0 -a ! -f /etc/diskless ]; then + BSDINSTALL_CONFIGCURRENT=yes; export BSDINSTALL_CONFIGCURRENT + fi + trap true SIGINT # Ignore cntrl-C here bsdinstall if [ $? -eq 0 ]; then diff --git a/usr.sbin/bsdinstall/scripts/auto b/usr.sbin/bsdinstall/scripts/auto index 667ced442a27..68897dde2d6e 100755 --- a/usr.sbin/bsdinstall/scripts/auto +++ b/usr.sbin/bsdinstall/scripts/auto @@ -35,7 +35,7 @@ error() { --no-label "Exit" --yes-label "Restart" --yesno \ "An installation step has been aborted. Would you like to restart the installation or exit the installer?" 0 0 if [ $? -ne 0 ]; then - exit + exit 1 else exec $0 fi @@ -128,14 +128,12 @@ if [ ! -z "$FETCH_DISTRIBUTIONS" ]; then if [ -d $BSDINSTALL_DISTDIR ]; then DISTDIR_IS_UNIONFS=1 mount_nullfs -o union "$BSDINSTALL_FETCHDEST" "$BSDINSTALL_DISTDIR" - fi - - # Otherwise, fetch everything - if [ $? -ne 0 ]; then - export DISTRIBUTIONS="$ALL_DISTRIBUTIONS" + else + export DISTRIBUTIONS="MANIFEST $ALL_DISTRIBUTIONS" export BSDINSTALL_DISTDIR="$BSDINSTALL_FETCHDEST" fi + export FTP_PASSIVE_MODE=YES bsdinstall distfetch || error export DISTRIBUTIONS="$ALL_DISTRIBUTIONS" fi