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)
This commit is contained in:
Nathan Whitehorn 2011-09-17 09:25:45 +00:00
parent 80c79bbe7a
commit 6d02d4cbc5
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=225637
2 changed files with 30 additions and 8 deletions

View file

@ -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

View file

@ -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