#!/bin/sh # # console Load console font and keyboard table # # chkconfig: 345 70 30 # # description: Loads the console font, the application-charset map \ # and the keyboard table. # This must be executed *after* /usr is mounted. # This means is /usr is NFS-mounted, it needs to # run after networking and NFS mounts are up. [ -f /etc/sysconfig/console ] || exit 0 [ -f /bin/loadkeys ] || exit 0 [ -f /usr/bin/setfont ] || exit 0 # Source function library . /etc/rc.d/init.d/functions FB= case "$1" in start|restart) . /etc/sysconfig/console # checking if whe have framebuffer enabled if [ -f /proc/fb ]; then # /proc files show as files with size=0, this is a workaround. if cat /proc/fb | grep -q "."; then FB=yes; fi fi if [ -n "$SVGATEXTMODE" ] then run_cmd "Setting Text Mode $SVGATEXTMODE" SVGATextMode $SVGATEXTMODE fi if [ -n "$CONSOLEFONT" ] then CMD="/usr/bin/setfont -m ${CONSOLEMAP:-trivial} $CONSOLEFONT" show "Loading console font and map"; busy if [ ! -z $FB ]; then # check if devfs (workaround: -a option don't work at all) if [ -d /dev/vc ]; then list=`ls /dev/vc/*` pattern="s/\/dev\/vc\///g" else list=`ls /dev/tty[0-9] && ls /dev/tty[0-9][0-9]` pattern="s/\/dev\/tty//g" fi tty=`/usr/bin/tty | sed $pattern` for a in $list; do b=`ls $a | sed $pattern` /usr/bin/open -c $b -s -w -- $CMD done if [ $tty = "/dev/console" ]; then tty=1; fi /usr/bin/switchto $tty else $CMD fi ok fi if [ -n "$KEYTABLE" ] then run_cmd "Loading keyboard table" loadkeys $KEYTABLE < /dev/tty0 > /dev/tty0 fi ;; stop) # Nothing to stop ;; status) # Nothing to report ;; *) msg_usage "$0 {start|stop|status|restart}" exit 1 esac exit 0