1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
|
#---------------------------------------------------------------------------
#
# sample rc.local used for pcvt driver boot time initialization
# -------------------------------------------------------------
#
# last edit-date: [Sun Jul 2 10:33:53 1995]
#
#---------------------------------------------------------------------------
#
# NOTE:
# assumptions: - 8 screens configured
# - /dev/ttyv0 ... /dev/ttyv7 exist
#
#---------------------------------------------------------------------------
# path for pcvt utility programs: kcon, scon, loadfont, ispcvt and cursor
# FreeBSD 2.0.5 and later
#KCONP=/usr/sbin
#SCONP=/usr/sbin
#LDFNP=/usr/sbin
#ISPCP=/usr/sbin
#CURSP=/usr/sbin
# path for pcvt utility programs: kcon, scon, loadfont, ispcvt and cursor
# FreeBSD 2.0 and earlier and all NetBSD releases
KCONP=/usr/local/bin
SCONP=/usr/local/bin
LDFNP=/usr/local/bin
ISPCP=/usr/sbin
CURSP=/usr/local/bin
# path for pcvt's EGA/VGA download fonts
FONTP=/usr/share/misc/pcvtfonts
# path for xdm (X11R6)
XDMP=/usr/X11R6/bin
# path for xdm (X11R5)
#XDMP=/usr/X386/bin
# set to YES to start xdm on screen 8
#xdm_start=YES
xdm_start=NO
# set to YES to set up for german keyboard layout
#set_keybd=YES
set_keybd=NO
# set to YES to set up keyboard delay & rate
set_keydr=YES
#set_keydr=NO
# if set to YES, this are the (very fast) settings
set_keydr_rate=0
set_keydr_delay=0
# set to YES to construct a new /etc/motd file
#construct_motd=YES
construct_motd=NO
# set to YES to set up cursor start and end scanline
set_cursor=YES
#set_cursor=NO
# if YES set up a block cursor
set_cur_start=0
set_cur_end=15
#-----------------------------------------------------
# construct /etc/motd file
#-----------------------------------------------------
if [ X${construct_motd} = X"YES" ]
then
if [ -f /netbsd ]
then
if [ ! -f /etc/motd ]; then
install -c -o root -g wheel -m 664 /dev/null /etc/motd
fi
T=/tmp/_motd
rm -f $T
sysctl -n kern.version | sed 1q > $T
echo "" >> $T
sed '1,/^$/d' < /etc/motd >> $T
cmp -s $T /etc/motd || cp $T /etc/motd
rm -f $T
echo 'runtime link editor directory cache'
ldconfig
else
T=/tmp/_motd
rm -f $T
uname -a > $T
echo "" >> $T
sed '1,/^$/d' < /etc/motd >> $T
cp $T /etc/motd
chmod 644 /etc/motd
rm -f $T
fi
fi
#-----------------------------------------------------
# local daemons
#-----------------------------------------------------
echo -n 'starting local daemons:'
# Kerberos runs ONLY on the Kerberos server machine
if [ X${kerberos_server} = X"YES" ]; then
echo -n ' kerberos'; kerberos >> /var/log/kerberos.log &
fi
echo '.'
#-----------------------------------------------------
# check for correct driver and driver version matching
#-----------------------------------------------------
if [ -x $ISPCP/ispcvt ]
then
if $ISPCP/ispcvt -d /dev/ttyv0
then
#--------------------------------------------------
# loading fonts into vga
#--------------------------------------------------
echo 'console driver type: pcvt'
if [ -x $LDFNP/loadfont -a -x $SCONP/scon ]
then
adaptor=`$SCONP/scon -d /dev/ttyv0 -a`
if [ $adaptor = VGA ]
then
echo 'loading 25 lines base font into character set 0'
$LDFNP/loadfont -d /dev/ttyv0 -c0 -f $FONTP/vt220l.816
echo 'loading 25 lines extension font into character set 1'
$LDFNP/loadfont -d /dev/ttyv0 -c1 -f $FONTP/vt220h.816
echo 'loading 28 lines base font into character set 2'
$LDFNP/loadfont -d /dev/ttyv0 -c2 -f $FONTP/vt220l.814
echo 'loading 28 lines extension font into character set 3'
$LDFNP/loadfont -d /dev/ttyv0 -c3 -f $FONTP/vt220h.814
echo 'loading 40 lines base font into character set 4'
$LDFNP/loadfont -d /dev/ttyv0 -c4 -f $FONTP/vt220l.810
echo 'loading 40 lines extension font into character set 5'
$LDFNP/loadfont -d /dev/ttyv0 -c5 -f $FONTP/vt220h.810
echo 'loading 50 lines base font into character set 6'
$LDFNP/loadfont -d /dev/ttyv0 -c6 -f $FONTP/vt220l.808
echo 'loading 50 lines extension font into character set 7'
$LDFNP/loadfont -d /dev/ttyv0 -c7 -f $FONTP/vt220h.808
elif [ $adaptor = EGA ]
then
echo 'loading 25 lines base font into character set 0'
$LDFNP/loadfont -d /dev/ttyv0 -c0 -f $FONTP/vt220l.814
echo 'loading 25 lines extension font into character set 1'
$LDFNP/loadfont -d /dev/ttyv0 -c1 -f $FONTP/vt220h.814
echo 'loading 35 lines base font into character set 2'
$LDFNP/loadfont -d /dev/ttyv0 -c2 -f $FONTP/vt220l.810
echo 'loading 35 lines extension font into character set 3'
$LDFNP/loadfont -d /dev/ttyv0 -c3 -f $FONTP/vt220h.810
# echo 'loading 43 lines base font into character set 2'
# $LDFNP/loadfont -d /dev/ttyv0 -c2 -f $FONTP/vt220l.808
# echo 'loading 43 lines extension font into character set 3'
# $LDFNP/loadfont -d /dev/ttyv0 -c3 -f $FONTP/vt220h.808
fi
fi
#--------------------------------------------------
# setting screen sizes and emulation
#--------------------------------------------------
if [ -x $SCONP/scon ]
then
if [ $adaptor = VGA ]
then
size=-s28
echo 'switching to 28 lines and VT/HP-emulation'
elif [ $adaptor = EGA ]
then
size=-s25
echo 'switching to 25 lines and VT/HP-emulation'
else
size=
echo 'switching to VT/HP-emulation'
fi
# get monitor type (mono/color)
monitor=`$SCONP/scon -d /dev/ttyv0 -m`
# for all screens do
for device in /dev/ttyv*
do
# setup HP mode
$SCONP/scon -d$device $size -H
# setup cursor size
if [ X${set_cursor} = X"YES" -a -x $CURSP/cursor ]
then
$CURSP/cursor -d$device -s$set_cur_start -e$set_cur_end
fi
# if monochrome monitor, set color palette to use a higher intensity
if [ $monitor = MONO ]
then
if [ $adaptor = VGA ]
then
$SCONP/scon -d$device -p8,60,60,60
fi
fi
done
# switch to screen 0
$SCONP/scon -d /dev/ttyv0
# set screensaver timeout to one minute
$SCONP/scon -d /dev/ttyv0 -t360
fi
#------------------------------------------------------
# if desired, setup keyboard for german keyboard layout
#------------------------------------------------------
if [ X${set_keybd} = X"YES" -a -x $KCONP/kcon ]
then
echo 'switching to german keyboard layout'
$KCONP/kcon -m de
fi
#------------------------------------------------------
# if desired, setup rate and delay keyboard values
#------------------------------------------------------
if [ X${set_keydr} = X"YES" -a -x $KCONP/kcon ]
then
echo setting keyboard typematic rate = $set_keydr_rate and delay = $set_keydr_delay
$KCONP/kcon -r $set_keydr_rate -d $set_keydr_delay
fi
#--------------------------------------------------
# if desired, start xdm on screen 8
#--------------------------------------------------
if [ X${xdm_start} = X"YES" -a -x $XDMP/xdm ]
then
$SCONP/scon -d /dev/ttyv7
$XDMP/xdm
sleep 5
$SCONP/scon -d /dev/ttyv0
fi
#--------------------------------------------------
# cp /etc/ttys corresponding to console driver
#--------------------------------------------------
if [ -f /etc/ttys.pcvt ]
then
echo 'copying /etc/ttys.pcvt -> /etc/ttys'
cp /etc/ttys.pcvt /etc/ttys
fi
else
echo 'console driver type: not pcvt or pcvt utility/driver mismatch:'
echo '--------------------------------------------------------------'
$ISPCP/ispcvt -v -d /dev/ttyv0
echo '--------------------------------------------------------------'
if [ -f /etc/ttys.pccons ]
then
echo 'copying /etc/ttys.pccons -> /etc/ttys'
cp /etc/ttys.pccons /etc/ttys
fi
fi
else
echo 'console driver type: not pcvt'
if [ -f /etc/ttys.pccons ]
then
echo 'copying /etc/ttys.pccons -> /etc/ttys'
cp /etc/ttys.pccons /etc/ttys
fi
fi
echo
# EOF ----------------------------------------------------------------------
|