svn commit: r225637 - in head: release usr.sbin/bsdinstall/scripts

Nathan Whitehorn nwhitehorn at FreeBSD.org
Sat Sep 17 09:25:45 UTC 2011


Author: nwhitehorn
Date: Sat Sep 17 09:25:45 2011
New Revision: 225637
URL: http://svn.freebsd.org/changeset/base/225637

Log:
  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)

Modified:
  head/release/rc.local
  head/usr.sbin/bsdinstall/scripts/auto

Modified: head/release/rc.local
==============================================================================
--- head/release/rc.local	Sat Sep 17 08:54:23 2011	(r225636)
+++ head/release/rc.local	Sat Sep 17 09:25:45 2011	(r225637)
@@ -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

Modified: head/usr.sbin/bsdinstall/scripts/auto
==============================================================================
--- head/usr.sbin/bsdinstall/scripts/auto	Sat Sep 17 08:54:23 2011	(r225636)
+++ head/usr.sbin/bsdinstall/scripts/auto	Sat Sep 17 09:25:45 2011	(r225637)
@@ -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


More information about the svn-src-all mailing list