dot.profile revision 1.2.26.1 1 # $NetBSD: dot.profile,v 1.2.26.1 2009/01/15 22:25:21 bouyer Exp $
2 #
3 # Copyright (c) 1995 Jason R. Thorpe
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 TERM=vt220
39 export TERM
40 HOME=/
41 export HOME
42 OBLOCKSIZE=1k
43 export BLOCKSIZE
44 EDITOR=ed
45 export EDITOR
46
47 umask 022
48
49 makerootwritable() {
50 if [ ! -e /tmp/.root_writable ]; then
51 # note, only handles up to partition 'j'
52 rootdev=/dev/$(sysctl -n kern.root_device)$(sysctl -n kern.root_partition | sed y/0123456789/abcdefghij/)
53 if ! mount $rootdev / ; then
54 echo "Unable to mount $rootdev read-write"
55 exit 1
56 fi
57 cp /dev/null /tmp/.root_writable
58 echo "Mounted $rootdev read-write"
59 fi
60 }
61
62 if [ "X${DONEPROFILE}" = "X" ]; then
63 DONEPROFILE=YES
64 export DONEPROFILE
65
66 # set up some sane defaults
67 echo 'erase ^H, werase ^W, kill ^U, intr ^C'
68 stty newcrt werase ^W intr ^C kill ^U erase ^H 9600
69
70 # mount root read write
71 makerootwritable
72
73 # If supported: Select a keyboard map
74 /usr/sbin/loadkmap > /dev/null 2>&1
75 if [ $? -eq 0 ]; then
76 _maps=`ls /usr/share/keymaps/atari | sed 's/\.map//g'`
77 fi
78 while [ ! -z "$_maps" ]; do
79 echo "The available keyboard maps are:"
80 _num=0
81 for i in $_maps; do
82 echo " $_num $i"
83 _num=`expr $_num + 1`
84 done
85 echo
86 echo -n "Select the number of the map you want to activate: "
87 read _ans
88
89 # Delete all non-nummeric characters from the users answer
90 if [ ! -z "$_ans" ]; then
91 _ans=`echo $_ans | sed 's/[^0-9]//g'`
92 fi
93
94 # Check if the answer is valid (in range). Note that an answer
95 # < 0 cannot happen because the sed(1) above also removes the
96 # sign.
97 if [ -z "$_ans" -o "$_ans" -ge $_num ]; then
98 echo "You entered an invalid response, please try again."
99 continue
100 fi
101
102 # Got a valid answer, activate the map...
103 set -- $_maps
104 shift $_ans
105 /usr/sbin/loadkmap -f /usr/share/keymaps/atari/$1.map
106 break
107 done
108
109 sysinst
110 fi
111