diff --git a/release/rc.local b/release/rc.local --- a/release/rc.local +++ b/release/rc.local @@ -1,101 +1,7 @@ #!/bin/sh # $FreeBSD$ -: ${BSDDIALOG_OK=0} -: ${BSDDIALOG_CANCEL=1} -: ${BSDDIALOG_HELP=2} -: ${BSDDIALOG_EXTRA=3} -: ${BSDDIALOG_ESC=5} -: ${BSDDIALOG_ERROR=255} - # resolv.conf from DHCP ends up in here, so make sure the directory exists mkdir /tmp/bsdinstall_etc -kbdcontrol -d >/dev/null 2>&1 -if [ $? -eq 0 ]; then - # Syscons: use xterm, start interesting things on other VTYs - TERM=xterm - - # Don't send ESC on function-key 62/63 (left/right command key) - kbdcontrol -f 62 '' > /dev/null 2>&1 - kbdcontrol -f 63 '' > /dev/null 2>&1 - - if [ -z "$EXTERNAL_VTY_STARTED" ]; then - # Init will clean these processes up if/when the system - # goes multiuser - touch /tmp/bsdinstall_log - tail -f /tmp/bsdinstall_log > /dev/ttyv2 & - /usr/libexec/getty autologin ttyv3 & - EXTERNAL_VTY_STARTED=1 - fi -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 - -# Query terminal size; useful for serial lines. -resizewin -z - -if [ -f /etc/installerconfig ]; then - if bsdinstall script /etc/installerconfig; then - bsddialog --backtitle "FreeBSD Installer" --title "Complete" --no-cancel --ok-label "Reboot" --pause "Installation of FreeBSD complete! Rebooting in 10 seconds" 10 30 10 - reboot - else - bsddialog --backtitle "FreeBSD Installer" --title "Error" --textbox /tmp/bsdinstall_log 0 0 - fi - exit -fi - -bsddialog --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 -$BSDDIALOG_OK) # Install - # 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 - 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 - - case $? in - $BSDDIALOG_OK) # Reboot - reboot - ;; - $BSDDIALOG_EXTRA) # Shutdown - shutdown -p now - ;; - $BSDDIALOG_CANCEL) # Live CD - exit 0 - ;; - esac - else - . /etc/rc.local - fi - ;; -$BSDDIALOG_CANCEL) # Live CD - exit 0 - ;; -$BSDDIALOG_EXTRA) # Shell - clear - echo "When finished, type 'exit' to return to the installer." - /bin/sh - . /etc/rc.local - ;; -esac - +/usr/libexec/bsdinstall/startbsdinstall diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -474,6 +474,7 @@ OLD_FILES+=usr/libexec/bsdinstall/script OLD_FILES+=usr/libexec/bsdinstall/scriptedpart OLD_FILES+=usr/libexec/bsdinstall/services +OLD_FILES+=usr/libexec/bsdinstall/startbsdinstall OLD_FILES+=usr/libexec/bsdinstall/time OLD_FILES+=usr/libexec/bsdinstall/umount OLD_FILES+=usr/libexec/bsdinstall/wlanconfig diff --git a/usr.sbin/bsdinstall/Makefile b/usr.sbin/bsdinstall/Makefile --- a/usr.sbin/bsdinstall/Makefile +++ b/usr.sbin/bsdinstall/Makefile @@ -10,6 +10,9 @@ SRCS+= ${GENHDRS} CLEANFILES+= ${GENHDRS} +SCRIPTS+= startbsdinstall +SCRIPTSDIR_startbsdinstall= ${LIBEXECDIR}/bsdinstall + opt_osname.h: .PHONY if ! grep -q "^#define OSNAME \"${OSNAME}\"$"" ${.TARGET}; then \ echo "#define OSNAME \"${OSNAME}\"" > ${.TARGET}; \ diff --git a/release/rc.local b/usr.sbin/bsdinstall/startbsdinstall old mode 100755 new mode 100644 copy from release/rc.local copy to usr.sbin/bsdinstall/startbsdinstall --- a/release/rc.local +++ b/usr.sbin/bsdinstall/startbsdinstall @@ -1,5 +1,4 @@ #!/bin/sh -# $FreeBSD$ : ${BSDDIALOG_OK=0} : ${BSDDIALOG_CANCEL=1} @@ -8,9 +7,6 @@ : ${BSDDIALOG_ESC=5} : ${BSDDIALOG_ERROR=255} -# resolv.conf from DHCP ends up in here, so make sure the directory exists -mkdir /tmp/bsdinstall_etc - kbdcontrol -d >/dev/null 2>&1 if [ $? -eq 0 ]; then # Syscons: use xterm, start interesting things on other VTYs @@ -85,7 +81,7 @@ ;; esac else - . /etc/rc.local + . "$0" fi ;; $BSDDIALOG_CANCEL) # Live CD @@ -95,7 +91,7 @@ clear echo "When finished, type 'exit' to return to the installer." /bin/sh - . /etc/rc.local + . "$0" ;; esac