1*d577d617SJessica Clarke#!/bin/sh 2*d577d617SJessica Clarke 3*d577d617SJessica Clarke: ${BSDDIALOG_OK=0} 4*d577d617SJessica Clarke: ${BSDDIALOG_CANCEL=1} 5*d577d617SJessica Clarke: ${BSDDIALOG_HELP=2} 6*d577d617SJessica Clarke: ${BSDDIALOG_EXTRA=3} 7*d577d617SJessica Clarke: ${BSDDIALOG_ESC=5} 8*d577d617SJessica Clarke: ${BSDDIALOG_ERROR=255} 9*d577d617SJessica Clarke 10*d577d617SJessica Clarkekbdcontrol -d >/dev/null 2>&1 11*d577d617SJessica Clarkeif [ $? -eq 0 ]; then 12*d577d617SJessica Clarke # Syscons: use xterm, start interesting things on other VTYs 13*d577d617SJessica Clarke TERM=xterm 14*d577d617SJessica Clarke 15*d577d617SJessica Clarke # Don't send ESC on function-key 62/63 (left/right command key) 16*d577d617SJessica Clarke kbdcontrol -f 62 '' > /dev/null 2>&1 17*d577d617SJessica Clarke kbdcontrol -f 63 '' > /dev/null 2>&1 18*d577d617SJessica Clarke 19*d577d617SJessica Clarke if [ -z "$EXTERNAL_VTY_STARTED" ]; then 20*d577d617SJessica Clarke # Init will clean these processes up if/when the system 21*d577d617SJessica Clarke # goes multiuser 22*d577d617SJessica Clarke touch /tmp/bsdinstall_log 23*d577d617SJessica Clarke tail -f /tmp/bsdinstall_log > /dev/ttyv2 & 24*d577d617SJessica Clarke /usr/libexec/getty autologin ttyv3 & 25*d577d617SJessica Clarke EXTERNAL_VTY_STARTED=1 26*d577d617SJessica Clarke fi 27*d577d617SJessica Clarkeelse 28*d577d617SJessica Clarke # Serial or other console 29*d577d617SJessica Clarke echo 30*d577d617SJessica Clarke echo "Welcome to FreeBSD!" 31*d577d617SJessica Clarke echo 32*d577d617SJessica Clarke echo "Please choose the appropriate terminal type for your system." 33*d577d617SJessica Clarke echo "Common console types are:" 34*d577d617SJessica Clarke echo " ansi Standard ANSI terminal" 35*d577d617SJessica Clarke echo " vt100 VT100 or compatible terminal" 36*d577d617SJessica Clarke echo " xterm xterm terminal emulator (or compatible)" 37*d577d617SJessica Clarke echo 38*d577d617SJessica Clarke echo -n "Console type [vt100]: " 39*d577d617SJessica Clarke read TERM 40*d577d617SJessica Clarke TERM=${TERM:-vt100} 41*d577d617SJessica Clarkefi 42*d577d617SJessica Clarkeexport TERM 43*d577d617SJessica Clarke 44*d577d617SJessica Clarke# Query terminal size; useful for serial lines. 45*d577d617SJessica Clarkeresizewin -z 46*d577d617SJessica Clarke 47*d577d617SJessica Clarkeif [ -f /etc/installerconfig ]; then 48*d577d617SJessica Clarke if bsdinstall script /etc/installerconfig; then 49*d577d617SJessica Clarke bsddialog --backtitle "FreeBSD Installer" --title "Complete" --no-cancel --ok-label "Reboot" --pause "Installation of FreeBSD complete! Rebooting in 10 seconds" 10 30 10 50*d577d617SJessica Clarke reboot 51*d577d617SJessica Clarke else 52*d577d617SJessica Clarke bsddialog --backtitle "FreeBSD Installer" --title "Error" --textbox /tmp/bsdinstall_log 0 0 53*d577d617SJessica Clarke fi 54*d577d617SJessica Clarke exit 55*d577d617SJessica Clarkefi 56*d577d617SJessica Clarke 57*d577d617SJessica Clarkebsddialog --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 58*d577d617SJessica Clarke 59*d577d617SJessica Clarkecase $? in 60*d577d617SJessica Clarke$BSDDIALOG_OK) # Install 61*d577d617SJessica Clarke # If not netbooting, have the installer configure the network 62*d577d617SJessica Clarke dlv=`/sbin/sysctl -n vfs.nfs.diskless_valid 2> /dev/null` 63*d577d617SJessica Clarke if [ ${dlv:=0} -eq 0 -a ! -f /etc/diskless ]; then 64*d577d617SJessica Clarke BSDINSTALL_CONFIGCURRENT=yes; export BSDINSTALL_CONFIGCURRENT 65*d577d617SJessica Clarke fi 66*d577d617SJessica Clarke 67*d577d617SJessica Clarke trap true SIGINT # Ignore cntrl-C here 68*d577d617SJessica Clarke bsdinstall 69*d577d617SJessica Clarke if [ $? -eq 0 ]; then 70*d577d617SJessica Clarke bsddialog --backtitle "FreeBSD Installer" --title "Complete" --ok-label "Reboot" --extra-button --extra-label "Shutdown" --cancel-label "Live CD" --yesno "Installation of FreeBSD complete! Would you like to reboot into the installed system now?" 0 0 71*d577d617SJessica Clarke 72*d577d617SJessica Clarke case $? in 73*d577d617SJessica Clarke $BSDDIALOG_OK) # Reboot 74*d577d617SJessica Clarke reboot 75*d577d617SJessica Clarke ;; 76*d577d617SJessica Clarke $BSDDIALOG_EXTRA) # Shutdown 77*d577d617SJessica Clarke shutdown -p now 78*d577d617SJessica Clarke ;; 79*d577d617SJessica Clarke $BSDDIALOG_CANCEL) # Live CD 80*d577d617SJessica Clarke exit 0 81*d577d617SJessica Clarke ;; 82*d577d617SJessica Clarke esac 83*d577d617SJessica Clarke else 84*d577d617SJessica Clarke . "$0" 85*d577d617SJessica Clarke fi 86*d577d617SJessica Clarke ;; 87*d577d617SJessica Clarke$BSDDIALOG_CANCEL) # Live CD 88*d577d617SJessica Clarke exit 0 89*d577d617SJessica Clarke ;; 90*d577d617SJessica Clarke$BSDDIALOG_EXTRA) # Shell 91*d577d617SJessica Clarke clear 92*d577d617SJessica Clarke echo "When finished, type 'exit' to return to the installer." 93*d577d617SJessica Clarke /bin/sh 94*d577d617SJessica Clarke . "$0" 95*d577d617SJessica Clarke ;; 96*d577d617SJessica Clarkeesac 97*d577d617SJessica Clarke 98