integrate pcvt configuration into the new /etc/rc.d startup system
PR: i386/7100 Reviewed by: Gordon Tetlow <gordon@FreeBSD.org>
This commit is contained in:
parent
6c40705212
commit
6b6c162a88
@ -12,7 +12,7 @@ FILES= DAEMON LOGIN NETWORKING SERVERS abi accounting addswap adjkerntz altqd \
|
||||
mountall mountcritlocal mountcritremote mountd moused mroute6d \
|
||||
mrouted msgs named network network1 network2 network3 \
|
||||
network_ipv6 newsyslog nfsclient nfsd nfslocking \
|
||||
othermta nfsserver ntpd ntpdate pccard poffd ppp-user \
|
||||
othermta nfsserver ntpd ntpdate pccard pcvt poffd ppp-user \
|
||||
postfix ppp pppoed pwcheck quota racoon raidframe random rarpd \
|
||||
rbootd root route6d routed rpcbind rtadvd rtsold \
|
||||
rwho savecore screenblank securelevel sendmail serial sppp sshd swap1 \
|
||||
|
226
etc/rc.d/pcvt
Normal file
226
etc/rc.d/pcvt
Normal file
@ -0,0 +1,226 @@
|
||||
#!/bin/sh -
|
||||
#
|
||||
# Copyright (c) 2002 The FreeBSD Project
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
# SUCH DAMAGE.
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
|
||||
# PROVIDE: pcvt
|
||||
# REQUIRE: LOGIN
|
||||
# KEYWORD: FreeBSD
|
||||
|
||||
. /etc/rc.subr
|
||||
|
||||
name="pcvt"
|
||||
start_precmd="/usr/sbin/ispcvt -d /dev/ttyv0"
|
||||
start_cmd="pcvt_start"
|
||||
|
||||
pcvt_echo()
|
||||
{
|
||||
if checkyesno pcvt_verbose; then
|
||||
echo $1 "$2"
|
||||
fi
|
||||
}
|
||||
|
||||
pcvt_start()
|
||||
{
|
||||
# path for pcvt's EGA/VGA download fonts
|
||||
FONTP=/usr/share/misc/pcvtfonts
|
||||
|
||||
if checkyesno pcvt_verbose; then
|
||||
echo "Configuring pcvt console driver:"
|
||||
else
|
||||
echo "-n" "Configuring pcvt"
|
||||
fi
|
||||
|
||||
# video adapter type
|
||||
|
||||
adapter=`/usr/sbin/scon -d /dev/ttyv0 -a`
|
||||
|
||||
pcvt_echo "-n" " video adapter type is $adapter, "
|
||||
|
||||
# monitor type (mono/color)
|
||||
|
||||
monitor=`/usr/sbin/scon -d /dev/ttyv0 -m`
|
||||
|
||||
pcvt_echo "" "monitor type is $monitor"
|
||||
|
||||
# load fonts into VGA
|
||||
|
||||
if [ $adapter = VGA ] ; then
|
||||
pcvt_echo "-n" " loading fonts: 8x16:0,"
|
||||
loadfont -d /dev/ttyv0 -c0 -f $FONTP/vt220l.816
|
||||
|
||||
pcvt_echo "-n" "1 "
|
||||
loadfont -d /dev/ttyv0 -c1 -f $FONTP/vt220h.816
|
||||
|
||||
pcvt_echo "-n" " 8x14:0,"
|
||||
loadfont -d /dev/ttyv0 -c2 -f $FONTP/vt220l.814
|
||||
|
||||
pcvt_echo "-n" "1 "
|
||||
loadfont -d /dev/ttyv0 -c3 -f $FONTP/vt220h.814
|
||||
|
||||
pcvt_echo "-n" " 8x10:0,"
|
||||
loadfont -d /dev/ttyv0 -c4 -f $FONTP/vt220l.810
|
||||
|
||||
pcvt_echo "-n" "1 "
|
||||
loadfont -d /dev/ttyv0 -c5 -f $FONTP/vt220h.810
|
||||
|
||||
pcvt_echo "-n" " 8x8:0,"
|
||||
loadfont -d /dev/ttyv0 -c6 -f $FONTP/vt220l.808
|
||||
|
||||
pcvt_echo "" "1 "
|
||||
loadfont -d /dev/ttyv0 -c7 -f $FONTP/vt220h.808
|
||||
|
||||
# setting screen sizes
|
||||
|
||||
case ${pcvt_lines} in
|
||||
28)
|
||||
size=-s28
|
||||
pcvt_echo "" " switching to 28 lines"
|
||||
;;
|
||||
40)
|
||||
size=-s40
|
||||
pcvt_echo "" " switching to 40 lines"
|
||||
;;
|
||||
50)
|
||||
size=-s50
|
||||
pcvt_echo "" " switching to 50 lines"
|
||||
;;
|
||||
*)
|
||||
size=-s25
|
||||
pcvt_echo "" " switching to 25 lines"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# use HP extensions to VT220 or plain VT220 ?
|
||||
|
||||
if checkyesno pcvt_hpext; then
|
||||
emulation=-H
|
||||
pcvt_echo "" " setting emulation to VT220 with HP extensions"
|
||||
else
|
||||
emulation=-V
|
||||
pcvt_echo "" " setting emulation to VT220"
|
||||
fi
|
||||
|
||||
# for all screens do
|
||||
|
||||
for device in /dev/ttyv*
|
||||
do
|
||||
# set emulation
|
||||
|
||||
/usr/sbin/scon -d$device $size $emulation >/dev/null 2>&1
|
||||
if [ $? != 0 ] ; then
|
||||
break 1
|
||||
fi
|
||||
|
||||
# set cursor shape
|
||||
|
||||
case ${pcvt_cursorh} in
|
||||
[Nn][Oo] | '')
|
||||
;;
|
||||
*)
|
||||
case ${pcvt_cursorl} in
|
||||
[Nn][Oo] | '')
|
||||
;;
|
||||
*)
|
||||
/usr/sbin/cursor -d$device -s$pcvt_cursorh -e$pcvt_cursorl
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
# on monochrome monitor, set color palette to use a higher intensity
|
||||
|
||||
if checkyesno pcvt_monohigh && \
|
||||
[ $monitor = MONO -a $adapter = VGA ]
|
||||
then
|
||||
/usr/sbin/scon -d$device -p8,60,60,60
|
||||
fi
|
||||
done
|
||||
|
||||
# switch to screen 0
|
||||
|
||||
pcvt_echo "" " switching to screen 0"
|
||||
|
||||
/usr/sbin/scon -d /dev/ttyv0
|
||||
|
||||
# screensaver timeout
|
||||
|
||||
case ${pcvt_blanktime} in
|
||||
[Nn][Oo] | '')
|
||||
;;
|
||||
*)
|
||||
pcvt_echo "" " setting screensaver timeout to $pcvt_blanktime seconds"
|
||||
/usr/sbin/scon -d /dev/ttyv0 -t$pcvt_blanktime
|
||||
;;
|
||||
esac
|
||||
|
||||
# national keyboard layout
|
||||
|
||||
case ${pcvt_keymap} in
|
||||
[Nn][Oo] | '')
|
||||
;;
|
||||
*)
|
||||
pcvt_echo "" " switching national keyboard layout to $pcvt_keymap"
|
||||
/usr/sbin/kcon -m $pcvt_keymap
|
||||
;;
|
||||
esac
|
||||
|
||||
# keyboard repeat delay value
|
||||
|
||||
case ${pcvt_keydel} in
|
||||
[Nn][Oo] | '')
|
||||
;;
|
||||
*)
|
||||
pcvt_echo "" " setting keyboard delay to $pcvt_keydel"
|
||||
/usr/sbin/kcon -d$pcvt_keydel
|
||||
;;
|
||||
esac
|
||||
|
||||
# keyboard repeat rate value
|
||||
|
||||
case ${pcvt_keyrate} in
|
||||
[Nn][Oo] | '')
|
||||
;;
|
||||
*)
|
||||
pcvt_echo "" " setting keyboard repeat rate to $pcvt_keyrate"
|
||||
/usr/sbin/kcon -r$pcvt_keyrate
|
||||
;;
|
||||
esac
|
||||
|
||||
# done
|
||||
|
||||
if checkyesno pcvt_verbose; then
|
||||
echo "Finished configuring pcvt console driver."
|
||||
else
|
||||
echo "."
|
||||
fi
|
||||
}
|
||||
|
||||
load_rc_config $name
|
||||
run_rc_command "$1"
|
Loading…
Reference in New Issue
Block a user