| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- #! /bin/sh
- # A crude much-simplified clone of setupcon for use in the initramfs.
- PREREQ="framebuffer"
- prereqs () {
- echo "$PREREQ"
- }
- case $1 in
- prereqs)
- prereqs
- exit 0
- ;;
- esac
- [ -r /etc/default/console-setup ] || exit 0
- . /etc/default/console-setup
- [ "$ACTIVE_CONSOLES" ] || exit 0
- # CODESET
- [ "$CODESET" != guess ] || CODESET=''
- if [ -z "$CODESET" ]; then
- case "$CHARMAP" in
- UTF-8) CODESET=Uni2;;
- ARMSCII-8) CODESET=Armenian ;;
- CP1251) CODESET=CyrSlav ;;
- CP1255) CODESET=Hebrew ;;
- CP1256) CODESET=Arabic ;;
- GEORGIAN-ACADEMY) CODESET=Georgian ;;
- GEORGIAN-PS) CODESET=Georgian ;;
- IBM1133) CODESET=Lao ;;
- ISIRI-3342) CODESET=Arabic ;;
- ISO-8859-1) CODESET=Lat15 ;;
- ISO-8859-2) CODESET=Lat2 ;;
- ISO-8859-3) CODESET=Lat38 ;;
- ISO-8859-4) CODESET=Lat7 ;; # sometimes Lat15
- ISO-8859-5) CODESET=CyrSlav ;;
- ISO-8859-6) CODESET=Arabic ;;
- ISO-8859-7) CODESET=Greek ;;
- ISO-8859-8) CODESET=Hebrew ;;
- ISO-8859-9) CODESET=Lat15 ;;
- ISO-8859-10) CODESET=Lat15 ;;
- ISO-8859-11) CODESET=Thai ;;
- ISO-8859-13) CODESET=Lat7 ;;
- ISO-8859-14) CODESET=Lat38 ;;
- ISO-8859-15) CODESET=Lat15 ;;
- ISO-8859-16) CODESET=Lat2 ;;
- KOI8-R) CODESET=CyrKoi ;;
- KOI8-U) CODESET=CyrKoi ;;
- TIS-620) CODESET=Thai ;;
- VISCII) CODESET=Vietnamese ;;
- *) ;;
- esac
- fi
- # FONTSIZE
- if [ -z "$FONTSIZE" -o "$FONTSIZE" = guess ]; then
- FONTSIZE=16
- fi
- case "$FONTSIZE" in
- 8x*)
- FONTSIZE=${FONTSIZE#*x}
- ;;
- *x8)
- FONTSIZE=${FONTSIZE%x*}
- ;;
- *x*)
- a=${FONTSIZE%x*}
- b=${FONTSIZE#*x}
- if [ "$a" -lt "$b" ]; then
- FONTSIZE=${b}x${a}
- fi
- ;;
- esac
- if [ "$VERBOSE_OUTPUT" = yes ]; then
- verbose=
- else
- verbose='>/dev/null 2>&1'
- fi
- for i in 1 2 3 4 5 6; do
- [ -c /dev/tty$i ] || mknod /dev/tty$i c 4 $i
- done
- for console in $ACTIVE_CONSOLES; do
- [ -w $console ] || continue
- if [ "$CHARMAP" = UTF-8 ] || [ -z "$ACM$CHARMAP" ]; then
- printf '\033%%G' >$console
- else
- printf '\033%%@' >$console
- fi
- if [ "$FONT" ]; then
- FONT="/etc/console-setup/${FONT##*/}"
- FONT="${FONT%.gz}"
- else
- FONT="/etc/console-setup/$CODESET-$FONTFACE$FONTSIZE.psf"
- fi
- if [ -f "$FONT" ] || [ -f "$FONT.gz" ]; then
- if type consolechars >/dev/null 2>&1; then
- eval consolechars -v --tty=$console -f "$FONT" $verbose
- elif type setfont >/dev/null 2>&1; then
- eval setfont -v -C $console "$FONT" $verbose
- fi
- fi
- if [ "$ACM" ]; then
- ACM="/etc/console-setup/${ACM##*/}"
- ACM="${ACM%.gz}"
- else
- ACM="/etc/console-setup/$CHARMAP.acm"
- fi
- if [ -f "$ACM" ] || [ -f "$ACM.gz" ]; then
- if type consolechars >/dev/null 2>&1; then
- eval consolechars -v --tty=$console --acm "$ACM" \
- $verbose
- elif type setfont >/dev/null 2>&1; then
- eval setfont -v -C "$console" -m "$ACM" $verbose
- fi
- fi
- if type kbd_mode >/dev/null 2>&1; then
- if [ "$CHARMAP" = UTF-8 ] || [ -z "$ACM" ]; then
- kbd_mode -u <$console
- else
- kbd_mode -a <$console
- fi
- fi
- done
- if [ -f /etc/console-setup/cached.kmap.gz ] && type loadkeys >/dev/null; then
- eval loadkeys /etc/console-setup/cached.kmap.gz $verbose
- fi
- exit 0
|