svn commit: r220753 - head/usr.sbin/bsdinstall/scripts
Nathan Whitehorn
nwhitehorn at FreeBSD.org
Sun Apr 17 20:42:40 UTC 2011
Author: nwhitehorn
Date: Sun Apr 17 20:42:40 2011
New Revision: 220753
URL: http://svn.freebsd.org/changeset/base/220753
Log:
Update to reflect net install changes.
Modified:
head/usr.sbin/bsdinstall/scripts/jail
Modified: head/usr.sbin/bsdinstall/scripts/jail
==============================================================================
--- head/usr.sbin/bsdinstall/scripts/jail Sun Apr 17 20:01:32 2011 (r220752)
+++ head/usr.sbin/bsdinstall/scripts/jail Sun Apr 17 20:42:40 2011 (r220753)
@@ -27,28 +27,51 @@
# $FreeBSD$
echo "Begun Installation at $(date)" > $BSDINSTALL_LOG
-
export BSDINSTALL_CHROOT=$1
-export DISTRIBUTIONS="kernel.txz base.txz doc.txz games.txz"
-[ `uname -p` = amd64 -o `uname -p` = powerpc64 ] && export DISTRIBUTIONS="$DISTRIBUTIONS lib32.txz"
error() {
dialog --backtitle "FreeBSD Installer" --title "Abort" \
--no-label "Exit" --yes-label "Restart" --yesno \
- "You have canceled an installation step. Would you like to restart the installation or exit the installer?" 0 0
+ "An installation step has been aborted. Would you like to restart the installation or exit the installer?" 0 0
if [ $? -ne 0 ]; then
exit
else
- test -f $PATH_FSTAB && bsdinstall umount
- exec $0
+ exec $0 $BSDINSTALL_CHROOT
fi
}
rm -rf $BSDINSTALL_TMPETC
mkdir $BSDINSTALL_TMPETC
+mkdir -p $1 || error
+
+test ! -d $BSDINSTALL_DISTDIR && mkdir -p $BSDINSTALL_DISTDIR
-trap error SIGINT # SIGINT is bad
+if [ ! -f $BSDINSTALL_DISTDIR/MANIFEST -a -z "$BSDINSTALL_DISTSITE" ]; then
+ exec 3>&1
+ BSDINSTALL_DISTSITE=`bsdinstall mirrorselect 2>&1 1>&3`
+ MIRROR_BUTTON=$?
+ exec 3>&-
+ test $MIRROR_BUTTON -eq 0 || error
+ export BSDINSTALL_DISTSITE
+ fetch -o $BSDINSTALL_DISTDIR/MANIFEST $BSDINSTALL_DISTSITE/MANIFEST || error
+fi
+
+export DISTRIBUTIONS="base.txz"
+if [ -f $BSDINSTALL_DISTDIR/MANIFEST ]; then
+ DISTMENU=`cut -f 4,5,6 $BSDINSTALL_DISTDIR/MANIFEST | grep -v -e ^kernel -e ^base`
+
+ exec 3>&1
+ EXTRA_DISTS=$(echo $DISTMENU | xargs dialog \
+ --backtitle "FreeBSD Installer" \
+ --title "Distribution Select" --nocancel --separate-output \
+ --checklist "Choose optional system components to install:" \
+ 0 0 0 \
+ 2>&1 1>&3)
+ for dist in $EXTRA_DISTS; do
+ export DISTRIBUTIONS="$DISTRIBUTIONS $dist.txz"
+ done
+fi
FETCH_DISTRIBUTIONS=""
for dist in $DISTRIBUTIONS; do
@@ -56,19 +79,26 @@ for dist in $DISTRIBUTIONS; do
FETCH_DISTRIBUTIONS="$FETCH_DISTRIBUTIONS $dist"
fi
done
+FETCH_DISTRIBUTIONS=`echo $FETCH_DISTRIBUTIONS` # Trim white space
+
+if [ -n "$FETCH_DISTRIBUTIONS" -a -z "$BSDINSTALL_DISTSITE" ]; then
+ exec 3>&1
+ BSDINSTALL_DISTSITE=`bsdinstall mirrorselect 2>&1 1>&3`
+ MIRROR_BUTTON=$?
+ exec 3>&-
+ test $MIRROR_BUTTON -eq 0 || error
+ export BSDINSTALL_DISTSITE
+fi
-if [ ! -z $FETCH_DISTRIBUTIONS ]; then
- ALL_DISTRIBUTIONS=$DISTRIBUTIONS
- DISTRIBUTIONS=$FETCH_DISTRIBUTIONS
+if [ ! -z "$FETCH_DISTRIBUTIONS" ]; then
bsdinstall distfetch || error
- DISTRIBUTIONS=$ALL_DISTRIBUTIONS
fi
+bsdinstall checksum || error
bsdinstall distextract || error
bsdinstall rootpass || error
trap true SIGINT # This section is optional
-bsdinstall time
bsdinstall services
dialog --backtitle "FreeBSD Installer" --title "Add User Accounts" --yesno \
@@ -77,6 +107,8 @@ dialog --backtitle "FreeBSD Installer" -
trap error SIGINT # SIGINT is bad again
bsdinstall config || error
+cp /etc/resolv.conf $1/etc
+cp /etc/localtime $1/etc
echo "Installation Completed at $(date)" >> $BSDINSTALL_LOG
More information about the svn-src-all
mailing list