summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhm <hm@FreeBSD.org>2002-08-30 12:43:23 +0000
committerhm <hm@FreeBSD.org>2002-08-30 12:43:23 +0000
commitbb3cc65f1f18fdf41fe4e945d7b9c465176561d4 (patch)
tree04a0ff520867348df4160cbe0bc7c4c4f1aea38a
parent605d09c7f9581052248752fa4c3e1ff632c8c490 (diff)
downloadFreeBSD-src-bb3cc65f1f18fdf41fe4e945d7b9c465176561d4.zip
FreeBSD-src-bb3cc65f1f18fdf41fe4e945d7b9c465176561d4.tar.gz
integrate pcvt configuration into the new /etc/rc.d startup system
PR: i386/7100 Reviewed by: Gordon Tetlow <gordon@FreeBSD.org>
-rwxr-xr-xetc/rc.d/Makefile2
-rw-r--r--etc/rc.d/pcvt226
2 files changed, 227 insertions, 1 deletions
diff --git a/etc/rc.d/Makefile b/etc/rc.d/Makefile
index 42bc3f0..db6427d 100755
--- a/etc/rc.d/Makefile
+++ b/etc/rc.d/Makefile
@@ -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 \
diff --git a/etc/rc.d/pcvt b/etc/rc.d/pcvt
new file mode 100644
index 0000000..4f71abc
--- /dev/null
+++ b/etc/rc.d/pcvt
@@ -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"
OpenPOWER on IntegriCloud