freebsd-src/release/bininst
Jordan K. Hubbard dca5391032 Grrrr! Dialog menus just bail out without saying anything when the
menu items aren't unique enough.  After half an hour of head-scratching,
here are the disgusting convolutions required to work around the problem.
Sigh..
1994-11-18 16:27:54 +00:00

105 lines
3 KiB
Bash
Executable file

#!/stand/sh
#
# bininst - perform the last stage of installation by somehow getting
# a bindist onto the user's disk and unpacking it. The name bininst
# is actually something of a misnomer, since this utility will install
# more than just the bindist set.
#
# Written: November 11th, 1994
# Copyright (C) 1994 by Jordan K. Hubbard
#
# Permission to copy or use this software for any purpose is granted
# provided that this message stay intact, and at this location (e.g. no
# putting your name on top after doing something trivial like reindenting
# it, just to make it look like you wrote it!).
#
# $Id: bininst,v 1.45 1994/11/18 13:59:49 jkh Exp $
if [ "$_BININST_LOADED_" = "yes" ]; then
echo "Error, $0 loaded more than once!"
return 1
else
_BININST_LOADED_=yes
fi
# Set some useful variables
HOME=/; export HOME
TMP=/tmp
# Grab the miscellaneous functions.
. /stand/miscfuncs.sh
# Grab the installation routines
. /stand/instdist.sh
# Grab the network setup routines
. /stand/netinst.sh
# Deal with trigger-happy users.
trap interrupt 1 2 15
# set initial defaults
set_defaults()
{
media_set_defaults
installing="yes"
mkdir -p ${TMP}
cp /stand/etc/* /etc
}
# Print welcome banner.
welcome()
{
dialog --title "Welcome to FreeBSD!" $clear \
--msgbox \
"Installation may now proceed from tape, CDROM, a network (NFS or ftp
over ethernet, SLIP or parallel port) or DOS (existing hard disk
partition or floppies). If you're installing over a network, make
sure your cables are plugged in and ready to go. If you're installing
from tape, CDROM or floppies, now would be a good time to remember
where you put the distribution media! :-) If you're set and ready
to go, please remove the cpio floppy from the drive and press return!" -1 -1
}
do_last_config()
{
dialog --title "Auf Wiedersehen!" \
--msgbox "We now come to the end of the installation. Please remove
any floppies from the drive before exiting this dialog. At this point in
time, there's nothing fancy here, but for the release we plan to
ask some additional questions about time zone setup, what sort of
mail client this host is, etc. We just ran out of time for ALPHA!
At the very least, you may wish to check out the 'tzsetup' command;
it will at least handle the first checklist item for you. \n
The login name \"root\" has no password. If you're new to UN*X, log
in as root when prompted for a user name and run vipw to add a new
user for yourself.
There are also many useful pre-compiled packages for ${DISTNAME}
available which you may wish to investigate. Look in:
ftp://ftp.freebsd.org/pub/FreeBSD/${DISTNAME}/packages
Any install-related comments to jkh@freebsd.org, phk@freebsd.org or
paul@freebsd.org." -1 -1
}
welcome
set_defaults
while [ "$installing" = "yes" ]; do
if media_select_distribution; then
if media_chose; then
media_install_set
fi
else
do_last_config
installing="no"
fi
done
echo; echo "Spawning shell. Exit shell to continue with new bindist."
echo "Progress <installation completed>" > /dev/ttyv1
/stand/sh
exit 20