dot.profile revision 1.12
1# $NetBSD: dot.profile,v 1.12 2000/10/30 23:13:10 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 bs 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. 104If the installation tape was written with a different block size than 105the default suggested by this installation procedure, you have the 106opportunity to change that as well. 107 108EOF 109 dev="/dev/nrst0" 110 echo -n "Tape device to load the installation utilities from [$dev]: " 111 getresp "$dev"; dev="$_resp" 112 113 fn=2 114 echo -n "Tape file number [$fn]: " 115 getresp "$fn"; fn="$_resp" 116 117 bs=4k 118 echo -n "Tape block size [$bs]: " 119 getresp "$bs"; bs="$_resp" 120 121 echo "Positioning tape... " 122 mt -f $dev asf $(($fn - 1)) 123 [ $? = 0 ] || return 1 124 125 echo "Extracting installation utilities... " 126 (cd $INSTFS_MP && tar zxpbf $bs $dev) || return 1 127} 128 129cdrom() 130{ 131 local dev tf rval 132 cat <<EOF 133The installation utilities are located on the ISO CD9660 filesystem on the 134NetBSD/sparc CD-ROM. We need to mount the filesystem from the CD-ROM device 135which you can specify below. Note: after the installation utilities are 136extracted this filesystem will be unmounted again. 137 138EOF 139 140 rval=0 141 dev="/dev/cd0a" 142 echo -n "CD-ROM device to use [$dev]: " 143 getresp "$dev"; dev="$_resp" 144 145 mount_cd9660 -o rdonly $dev /cdrom || return 1 146 147 tf=/cdrom/installation/bootfs/instfs.tgz 148 (cd $INSTFS_MP && tar zxpf $tf) || rval=1 149 umount /cdrom 150 return $rval 151} 152 153cat <<EOF 154Welcome to the NetBSD/sparc microroot setup utility. 155 156We've just completed the first stage of a two-stage procedure to load a 157fully functional NetBSD installation environment on your machine. In the 158second stage which is to follow now, a set of additional installation 159utilities must be load from your NetBSD/sparc installation medium. 160 161EOF 162 163while :; do 164 cat <<EOF 165This procedure supports one of the following media: 166 167 1) cdrom 168 2) tape 169 3) floppy 170 171EOF 172 echo -n "Installation medium to load the additional utilities from: " 173 read answer 174 echo "" 175 case "$answer" in 176 1|cdrom) _func=cdrom;; 177 2|tape) _func=tape;; 178 3|floppy) _func=floppy;; 179 *) echo "option not supported"; continue;; 180 esac 181 $_func && break 182done 183 184# switch to /instfs, and pretend we logged in there. 185chroot $INSTFS_MP /bin/sh /.profile 186 187# 188echo "Back in microroot; halting machine..." 189halt 190