script revision 245702
1#!/bin/sh
2#-
3# Copyright (c) 2013 Nathan Whitehorn
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions
8# are met:
9# 1. Redistributions of source code must retain the above copyright
10#    notice, this list of conditions and the following disclaimer.
11# 2. Redistributions in binary form must reproduce the above copyright
12#    notice, this list of conditions and the following disclaimer in the
13#    documentation and/or other materials provided with the distribution.
14#
15# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25# SUCH DAMAGE.
26#
27# $FreeBSD: head/usr.sbin/bsdinstall/scripts/script 245702 2013-01-21 01:01:32Z nwhitehorn $
28
29# VARIABLES:
30# PARTITIONS
31# DISTRIBUTIONS
32# BSDINSTALL_DISTDIR
33
34error() {
35	test -f $PATH_FSTAB && bsdinstall umount
36	echo "Installation Error!"
37	cat $BSDINSTALL_LOG
38	echo "Installation Error!"
39	exit 1
40}
41
42set -e
43trap error EXIT
44
45SCRIPT="$1"
46shift
47
48echo "Begun Installation at $(date)" > $BSDINSTALL_LOG
49rm -rf $BSDINSTALL_TMPETC
50mkdir $BSDINSTALL_TMPETC
51
52split -a 2 -p '^#!.*' "$SCRIPT" /tmp/bsdinstall-installscript-
53cd /tmp
54echo BORK
55
56. bsdinstall-installscript-aa
57: ${DISTRIBUTIONS="kernel.txz base.txz"}; export DISTRIBUTIONS
58export BSDINSTALL_DISTDIR
59
60# Make partitions
61rm -f $PATH_FSTAB
62touch $PATH_FSTAB
63bsdinstall scriptedpart "$PARTITIONS"
64bsdinstall mount
65
66# Unpack distributions
67bsdinstall checksum
68bsdinstall distextract
69
70# Finalize install
71bsdinstall config
72
73# Run post-install script
74if [ -f /tmp/bsdinstall-installscript-ab ]; then
75	cp /tmp/bsdinstall-installscript-ab $BSDINSTALL_CHROOT/tmp/installscript
76	chmod a+x $BSDINSTALL_CHROOT/tmp/installscript
77	mount -t devfs devfs "$BSDINSTALL_CHROOT/dev"
78	chroot $BSDINSTALL_CHROOT /tmp/installscript $@ 2>&1
79	umount "$BSDINSTALL_CHROOT/dev"
80	rm $BSDINSTALL_CHROOT/tmp/installscript
81fi
82
83bsdinstall umount
84
85echo "Installation Completed at $(date)" >> $BSDINSTALL_LOG
86
87trap true EXIT
88