summaryrefslogtreecommitdiffstats
path: root/release/rc.local
diff options
context:
space:
mode:
authornwhitehorn <nwhitehorn@FreeBSD.org>2011-09-17 09:25:45 +0000
committernwhitehorn <nwhitehorn@FreeBSD.org>2011-09-17 09:25:45 +0000
commitf873725884927a840d613c459fe0ff342bcfc1ed (patch)
tree347a6db584147e3e070681360ef52bb2fc14f196 /release/rc.local
parent680b9f90a2df45c87f6be8100faa097073b497b7 (diff)
downloadFreeBSD-src-f873725884927a840d613c459fe0ff342bcfc1ed.zip
FreeBSD-src-f873725884927a840d613c459fe0ff342bcfc1ed.tar.gz
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)
Diffstat (limited to 'release/rc.local')
-rwxr-xr-xrelease/rc.local28
1 files changed, 26 insertions, 2 deletions
diff --git a/release/rc.local b/release/rc.local
index d583381..1816f38 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
OpenPOWER on IntegriCloud