dot.profile revision 1.4 1 # $NetBSD: dot.profile,v 1.4 2010/03/12 21:36:52 martin Exp $
2 #
3 # Copyright (c) 1997 Perry E. Metzger
4 # Copyright (c) 1994 Christopher G. Demetriou
5 # All rights reserved.
6 #
7 # Redistribution and use in source and binary forms, with or without
8 # modification, are permitted provided that the following conditions
9 # are met:
10 # 1. Redistributions of source code must retain the above copyright
11 # notice, this list of conditions and the following disclaimer.
12 # 2. Redistributions in binary form must reproduce the above copyright
13 # notice, this list of conditions and the following disclaimer in the
14 # documentation and/or other materials provided with the distribution.
15 # 3. All advertising materials mentioning features or use of this software
16 # must display the following acknowledgement:
17 # This product includes software developed for the
18 # NetBSD Project. See http://www.NetBSD.org/ for
19 # information about NetBSD.
20 # 4. The name of the author may not be used to endorse or promote products
21 # derived from this software without specific prior written permission.
22 #
23 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
24 # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
25 # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
26 # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
27 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
28 # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
32 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 #
34 # <<Id: LICENSE,v 1.2 2000/06/14 15:57:33 cgd Exp>>
35
36 PATH=/sbin:/bin:/usr/bin:/usr/sbin:/
37 export PATH
38
39 # Check if we are on a framebuffer or on serial console and default
40 # the terminal type accordingly.
41 # There is no /var/db/dev.db, so sysctl might not map the devicename properly;
42 # ttyE0 is 90,0 -> 0x5a00
43 case $(sysctl kern.consdev 2>/dev/null) in
44 kern.consdev\ =\ ttyE*|kern.consdev\ =\ 0x5a0*)
45 TERM=wsvt25
46 ;;
47 *)
48 TERM=vt220
49 ;;
50 esac
51
52 export TERM
53 HOME=/
54 export HOME
55 BLOCKSIZE=1k
56 export BLOCKSIZE
57 EDITOR=ed
58 export EDITOR
59
60 umask 022
61
62 if [ "X${DONEPROFILE}" = "X" ]; then
63 DONEPROFILE=YES
64 export DONEPROFILE
65
66 # set up some sane defaults
67 echo 'erase ^?, werase ^W, kill ^U, intr ^C'
68 stty newcrt werase ^W intr ^C kill ^U erase ^? 9600
69 echo ''
70
71 if [ $TERM != "wsvt25" ]; then
72 cat << "EOM"
73 You are using a serial console, we do not know your terminal emulation.
74 Please select one, typical values are:
75
76 vt100
77 ansi
78 xterm
79
80 EOM
81 echo -n "Terminal type (just hit ENTER for '$TERM'): "
82 read ans
83 if [ -n "$ans" ];then
84 TERM=$ans
85 fi
86 fi
87
88 # mount the kern_fs so that we can find the root device, and also
89 # examine the dmesg state
90 mount -t kernfs /kern /kern
91
92 # hack to get around bugs in kernfs's rootdev/rrootdev lookup.
93 ls -l /dev/* > /dev/null 2>&1
94
95 # mount the ramdisk read write
96 mount -t ffs -u /kern/rootdev /
97
98 # run the installation or upgrade script.
99 sysinst || {
100 echo "Oops, something went wrong - we will try again"; exit; }
101 fi
102