freebsd-dev/etc/etc.amd64/rc.amd64
Rodney W. Grimes 694ae09c05 Reviewed by: sos
Submitted by:	bde

rc.i386 failed messily when I used a serial console.

Editors note:
Use file redirection so that all the kbdcontrol and vidcontrol
commands act upon /dev/ttyv0 instead of stdin.  Though this feature
is not documented it is the intended behavior of {vid,kbd}control
and shall be documented in the future as such.
1995-05-26 18:06:52 +00:00

107 lines
2.5 KiB
Bash

#!/bin/sh -
#
# $Id: rc.i386,v 1.8 1995/04/13 21:23:17 rgrimes Exp $
# Do i386 specific processing
#
echo -n 'enabling FreeBSD/386 options:'
# Start the SCO binary emulation if requested.
if [ "X${ibcs2}" = X"YES" ]; then
echo -n ' '; ibcs2
fi
if [ "X${xtend}" != X"NO" -a -x /usr/libexec/xtend ]; then
echo -n ' xtend'; /usr/libexec/xtend
fi
##########################################################################
####### Syscons section ########
##########################################################################
# stdin must be redirected because it might be for a serial console
kbddev=/dev/ttyv0
viddev=/dev/ttyv0
# don't change these, they're modified below
kbdadjust=NO
vidadjust=NO
[ "X${keymap}" != X"NO" -o "X${keyrate}" != X"NO" \
-o "X${keychange}" != X"NO" ] && kbdadjust=YES
[ "X${scrnmap}" != X"NO" -o "X${font8x16}" != X"NO" -o \
"X${font8x14}" != X"NO" -o "X${font8x8}" != X"NO" -o \
"X${blanktime}" != X"NO" -o "X${cursor}" != X"NO" ] && vidadjust=YES
[ "X${kbdadjust}" != X"NO" -o "X${vidadjust}" != X"NO" -o \
"X${saver}" != X"NO" ] && { echo; echo "configuring syscons:"; }
[ "X${kbdadjust}" != X"NO" ] && echo -n ' [kbdcontrol:'
# keymap
if [ "X${keymap}" != X"NO" ]; then
echo -n ' keymap'; kbdcontrol <${kbddev} -l ${keymap}
fi
# keyrate
if [ "X${keyrate}" != X"NO" ]; then
echo -n ' keyrate'; kbdcontrol <${kbddev} -r ${keyrate}
fi
# change function keys
if [ "X${keychange}" != X"NO" ]; then
echo -n " keychange"
set - ${keychange}
while [ $# -gt 0 ]
do
kbdcontrol <${kbddev} -f "$1" "$2"
shift; shift
done
fi
[ "X${kbdadjust}" != X"NO" ] && echo ']'
[ "X${vidadjust}" != X"NO" ] && echo -n ' [vidcontrol:'
# cursor type
if [ "X${cursor}" != X"NO" ]; then
echo -n ' cursor'; vidcontrol <${viddev} -c ${cursor}
fi
# screen mapping
if [ "X${scrnmap}" != X"NO" ]; then
echo -n ' screen_map'; vidcontrol <${viddev} -l ${scrnmap}
fi
# font 8x16
if [ "X${font8x16}" != X"NO" ]; then
echo -n ' font8x16'; vidcontrol <${viddev} -f 8x16 ${font8x16}
fi
# font 8x14
if [ "X${font8x14}" != X"NO" ]; then
echo -n ' font8x14'; vidcontrol <${viddev} -f 8x14 ${font8x14}
fi
# font 8x8
if [ "X${font8x8}" != X"NO" ]; then
echo -n ' font8x8'; vidcontrol <${viddev} -f 8x8 ${font8x8}
fi
# blank time
if [ "X${blanktime}" != X"NO" ]; then
echo -n ' blank_time'; vidcontrol <${viddev} -t ${blanktime}
fi
[ "X${vidadjust}" != X"NO" ] && echo ']'
# screen saver
if [ "X${saver}" != X"NO" ] ; then
echo -n ' screensaver: '
modstat | grep _saver || modload -u -o /tmp/saver_mod -e \
saver_init -q /lkm/${saver}_saver_mod.o
fi
echo '.'