Try this patch to rc.sysinit (after you apply the previous one, otherwise, may have to apply manually):mories wrote:Regarding pkeys parameter (in my case pkeys=es) finds an appropriate map, but then loadkmap gives an error "not a valid binary keymap".
Code: Select all
@@ -127,35 +127,32 @@
grep -q 'input/mice' /etc/mousedevice && modprobe usbhid
# load keymaps and console fonts - rc.country no longer used
# modified from original keymap loading code (c) Barry K
-[ -z "$pkeys" ] && [ -e /etc/keymap ] && read pkeys < /etc/keymap
+[ -z "$pkeys" ] && [ -e /etc/keymap ] && read -r pkeys < /etc/keymap
if [ "$pkeys" ]; then
- pkeys_path="$(find /lib/keymaps/ -name "${pkeys}*" | head -n 1)"
- pkeys=${pkeys_path##*/}
- if [ "$pkeys" ]; then
- echo ${pkeys%%.*} > /etc/keymap
- zcat $pkeys_path | loadkmap
- case $pkeys in
- de*|be*|br*|dk*|es*|fi*|fr*|it*|no*|se*|pt*)
- modprobe nls_cp850
- zcat /lib/consolefonts/lat1-12.psfu.gz | loadfont
- echo lat1-12.psfu > /etc/fontmap
- echo 850 > /etc/codepage
- ;;
- cz*|hu*|pl*|ro*|sk*|croat*|slovene*)
- modprobe nls_cp852
- modprobe nls_iso8859-2
- zcat /lib/consolefonts/lat2-12.psfu.gz | loadfont
- echo lat2-12.psfu > /etc/fontmap
- echo 852 > /etc/codepage
- ;;
- *) # default - empty fontmap, iso-8859-1 codepage
- rm -f /etc/fontmap
- echo ISO-8859-1 > /etc/codepage
- ;;
- esac
- fi
+ echo $pkeys > /etc/keymap
+ loadkeys $pkeys
+ case ${pkeys##*/} in
+ de*|be*|br*|dk*|es*|fi*|fr*|it*|no*|se*|pt*)
+ modprobe nls_cp850
+ setfont lat1-12
+ echo lat1-12 > /etc/fontmap
+ echo 850 > /etc/codepage
+ ;;
+ cz*|hu*|pl*|ro*|sk*|croat*|slovene*)
+ modprobe nls_cp852
+ modprobe nls_iso8859-2
+ setfont lat2-12
+ echo lat2-12 > /etc/fontmap
+ echo 852 > /etc/codepage
+ ;;
+ big) setfont big ;;
+ *) # default - empty fontmap, iso-8859-1 codepage
+ rm -f /etc/fontmap
+ echo ISO-8859-1 > /etc/codepage
+ ;;
+ esac
fi
### other little things
[ -f /etc/resolutionfix ] && eval $(cat /etc/resolutionfix)