xref: /freebsd/usr.sbin/bsdinstall/scripts/mount (revision 2118f3873fdc9d9a08978465a3173b755f0d5e61)
1*2118f387SNathan Whitehorn#!/bin/sh
2*2118f387SNathan Whitehorn#-
3*2118f387SNathan Whitehorn# Copyright (c) 2011 Nathan Whitehorn
4*2118f387SNathan Whitehorn# All rights reserved.
5*2118f387SNathan Whitehorn#
6*2118f387SNathan Whitehorn# Redistribution and use in source and binary forms, with or without
7*2118f387SNathan Whitehorn# modification, are permitted provided that the following conditions
8*2118f387SNathan Whitehorn# are met:
9*2118f387SNathan Whitehorn# 1. Redistributions of source code must retain the above copyright
10*2118f387SNathan Whitehorn#    notice, this list of conditions and the following disclaimer.
11*2118f387SNathan Whitehorn# 2. Redistributions in binary form must reproduce the above copyright
12*2118f387SNathan Whitehorn#    notice, this list of conditions and the following disclaimer in the
13*2118f387SNathan Whitehorn#    documentation and/or other materials provided with the distribution.
14*2118f387SNathan Whitehorn#
15*2118f387SNathan Whitehorn# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16*2118f387SNathan Whitehorn# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17*2118f387SNathan Whitehorn# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18*2118f387SNathan Whitehorn# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19*2118f387SNathan Whitehorn# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20*2118f387SNathan Whitehorn# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21*2118f387SNathan Whitehorn# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22*2118f387SNathan Whitehorn# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23*2118f387SNathan Whitehorn# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24*2118f387SNathan Whitehorn# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25*2118f387SNathan Whitehorn# SUCH DAMAGE.
26*2118f387SNathan Whitehorn#
27*2118f387SNathan Whitehorn# $FreeBSD$
28*2118f387SNathan Whitehorn
29*2118f387SNathan WhitehornTMP_FSTAB=/tmp/bsdinstall-tmp-fstab
30*2118f387SNathan Whitehorn
31*2118f387SNathan Whitehorncat $PATH_FSTAB | awk -v BSDINSTALL_CHROOT=$BSDINSTALL_CHROOT '{
32*2118f387SNathan Whitehorn	if ($2 ~ "^/.*") {
33*2118f387SNathan Whitehorn		fsname = $2;
34*2118f387SNathan Whitehorn		if (fsname == "/")
35*2118f387SNathan Whitehorn			fsname = ""
36*2118f387SNathan Whitehorn		printf("%s\t%s%s\t%s\t%s\t%s\t%s\n", $1, BSDINSTALL_CHROOT,
37*2118f387SNathan Whitehorn		    fsname, $3, $4, $5, $6);
38*2118f387SNathan Whitehorn	}
39*2118f387SNathan Whitehorn}' > $TMP_FSTAB
40*2118f387SNathan Whitehorn
41*2118f387SNathan WhitehornFILESYSTEMS=`cat $TMP_FSTAB | awk '/^[^#].*/ {if ($2 ~ "^/.*") printf("%s\n", $2);}' | sort -t /`
42*2118f387SNathan Whitehorn
43*2118f387SNathan Whitehornfor i in $FILESYSTEMS; do
44*2118f387SNathan Whitehorn	mkdir -p $i 2>/dev/null
45*2118f387SNathan Whitehorn	MNTERROR=`mount -F $TMP_FSTAB $i 2>&1`
46*2118f387SNathan Whitehorn	if [ $? -ne 0 ]; then
47*2118f387SNathan Whitehorn		dialog --backtitle "FreeBSD Installer" --title "Error" \
48*2118f387SNathan Whitehorn		    --msgbox "Error mounting partition $i:\n$MNTERROR" 0 0
49*2118f387SNathan Whitehorn		exit 1
50*2118f387SNathan Whitehorn	fi
51*2118f387SNathan Whitehorndone
52*2118f387SNathan Whitehorn
53*2118f387SNathan Whitehorn# User might want a shell and require devfs, so mount it
54*2118f387SNathan Whitehornmkdir $BSDINSTALL_CHROOT/dev 2>/dev/null
55*2118f387SNathan Whitehornmount -t devfs devfs $BSDINSTALL_CHROOT/dev
56