dot.profile revision 1.13
1# $NetBSD: dot.profile,v 1.13 2000/10/31 20:53:04 pk Exp $ 2# 3# Copyright (c) 2000 The NetBSD Foundation, Inc. 4# All rights reserved. 5# 6# This code is derived from software contributed to The NetBSD Foundation 7# by Paul Kranenburg. 8# 9# Redistribution and use in source and binary forms, with or without 10# modification, are permitted provided that the following conditions 11# are met: 12# 1. Redistributions of source code must retain the above copyright 13# notice, this list of conditions and the following disclaimer. 14# 2. Redistributions in binary form must reproduce the above copyright 15# notice, this list of conditions and the following disclaimer in the 16# documentation and/or other materials provided with the distribution. 17# 3. All advertising materials mentioning features or use of this software 18# must display the following acknowledgement: 19# This product includes software developed by the NetBSD 20# Foundation, Inc. and its contributors. 21# 4. Neither the name of The NetBSD Foundation nor the names of its 22# contributors may be used to endorse or promote products derived 23# from this software without specific prior written permission. 24# 25# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 26# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 27# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 28# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 29# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 30# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 31# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 32# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 33# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 34# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 35# POSSIBILITY OF SUCH DAMAGE. 36# 37 38PATH=/sbin:/bin:/usr/bin:/usr/sbin:/ 39export PATH 40HOME=/ 41export HOME 42 43umask 022 44 45INSTFS_MP=/instfs 46MINIROOT_FSSIZE=10000 47 48if [ "${BOOTFS_DONEPROFILE}" != "YES" ]; then 49 50 BOOTFS_DONEPROFILE=YES 51 export BOOTFS_DONEPROFILE 52 53 # mount root read-write 54 mount_ffs -o update /dev/md0a / 55 56 # mount /instfs 57 mount_mfs -s $MINIROOT_FSSIZE swap $INSTFS_MP 58fi 59 60# A cat simulator 61cat() 62{ 63 local l 64 while read l; do 65 echo "$l" 66 done 67} 68 69_resp="" 70getresp() { 71 read _resp 72 if [ "$_resp" = "" ]; then 73 _resp=$1 74 fi 75} 76 77# Load instfs 78 79floppy() 80{ 81 local dev 82 cat <<EOF 83First, remove the boot disk from the floppy station. 84 85Next, insert the floppy disk labeled \`instfs' into the disk drive. 86The question below allows you to specify the device name of the floppy 87drive. Usually, the default device will do just fine. 88EOF 89 dev="/dev/rfd0a" 90 echo -n "Floppy device to load the installation utilities from [$dev]: " 91 getresp "$dev"; dev="$_resp" 92 93 echo "Extracting installation utilities... " 94 (cd $INSTFS_MP && tar zxpf $dev) || return 1 95} 96 97tape() 98{ 99 local dev fn bsa 100 cat <<EOF 101By default, the installation utilities are located in the second tape file 102on the NetBSD/sparc installation tape. In case your tape layout is different, 103choose the appropriate tape file number below. 104 105EOF 106 dev="/dev/nrst0" 107 echo -n "Tape device to load the installation utilities from [$dev]: " 108 getresp "$dev"; dev="$_resp" 109 110 fn=2 111 echo -n "Tape file number [$fn]: " 112 getresp "$fn"; fn="$_resp" 113 114 echo -n "Tape block size (use only if you know you need it): " 115 getresp ""; if [ "$_resp" != "" ]; then 116 bsa="-b $_resp" 117 fi 118 119 echo "Positioning tape... " 120 mt -f $dev asf $(($fn - 1)) 121 [ $? = 0 ] || return 1 122 123 echo "Extracting installation utilities... " 124 (cd $INSTFS_MP && tar $bsa -z -x -p -f $dev) || return 1 125} 126 127cdrom() 128{ 129 local dev tf rval 130 cat <<EOF 131The installation utilities are located on the ISO CD9660 filesystem on the 132NetBSD/sparc CD-ROM. We need to mount the filesystem from the CD-ROM device 133which you can specify below. Note: after the installation utilities are 134extracted this filesystem will be unmounted again. 135 136EOF 137 138 rval=0 139 dev="/dev/cd0a" 140 echo -n "CD-ROM device to use [$dev]: " 141 getresp "$dev"; dev="$_resp" 142 143 mount_cd9660 -o rdonly $dev /cdrom || return 1 144 145 tf=/cdrom/installation/bootfs/instfs.tgz 146 (cd $INSTFS_MP && tar zxpf $tf) || rval=1 147 umount /cdrom 148 return $rval 149} 150 151cat <<EOF 152Welcome to the NetBSD/sparc microroot setup utility. 153 154We've just completed the first stage of a two-stage procedure to load a 155fully functional NetBSD installation environment on your machine. In the 156second stage which is to follow now, a set of additional installation 157utilities must be load from your NetBSD/sparc installation medium. 158 159EOF 160 161while :; do 162 cat <<EOF 163This procedure supports one of the following media: 164 165 1) cdrom 166 2) tape 167 3) floppy 168 169EOF 170 echo -n "Installation medium to load the additional utilities from: " 171 read answer 172 echo "" 173 case "$answer" in 174 1|cdrom) _func=cdrom;; 175 2|tape) _func=tape;; 176 3|floppy) _func=floppy;; 177 *) echo "option not supported"; continue;; 178 esac 179 $_func && break 180done 181 182# switch to /instfs, and pretend we logged in there. 183chroot $INSTFS_MP /bin/sh /.profile 184 185# 186echo "Back in microroot; halting machine..." 187halt 188