aboutsummaryrefslogtreecommitdiffstats
path: root/release/bininst
blob: 4b55b7c3aff04c4f7e0e84a8d502888895331d6a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#!/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.49 1994/11/21 08:33:55 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()
{
	network_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()
{
	if [ "$hostname" = "" ]; then network_basic_setup; fi

	done=""
	while [ "$done" = "" ]; do
	dialog --title "Final Configuration!" --menu \
"We now come to the end of the installation.  If there's a\n\
floppy in the boot drive, now would probably be a good time\n\
to remove it as the system will reboot when you exit the shell\n\
at the end of this stage.\n\n\
Please select one of the following options:" -1 -1 4 \
"tzsetup" "Configure your time zone" \
"user" "Add a user name for yourself to the system" \
"guest" "Simply add a user \"guest\" with all default options" \
"done" "Exit the installation." 2> ${TMP}/menu.tmp.$$
	retval=$?
	choice=`cat ${TMP}/menu.tmp.$$`
	rm -f ${TMP}/menu.tmp.$$
	if ! handle_rval $retval; then exit 0; fi

	case $choice in
	tzsetup)
		dialog --clear
		sh /stand/tzsetup
		dialog --clear
	;;

	user)
		sh /stand/adduser.sh -i
	;;

	guest)
		sh /stand/adduser.sh
	;;

	done)
		done="yes"
	;;
	esac
	done

	dialog --title "Auf Wiedersehen!" --msgbox \
"Don't forget that the login name \"root\" has no password.
If you didn't create any users with adduser, you can at least log in
as this user.  Also be aware that root is the _superuser_, which means
that you can easily wipe out your system if you're not careful!

There are many useful pre-compiled packages for ${DISTNAME}
available which you may also 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.

We sincerely hope you enjoy FreeBSD 2.0!

		The FreeBSD Project Team" -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