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
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to