in script /etc/rc.d/rc.sysinit: in the keymap-load code there is a check if directory /usr/lib/kbd/keymaps exists before calling loadkeys with the user-provided keymap-setting ( in /etc/sysconfig/keyboard ). this is done before filesystems are mounted. so if /usr is an own partition this code doesn4t work. furthermore after upgrading from Red Hat 5.2 the file /etc/sysconfig/console/default.kmap exists, so that the user provided keymap-setting isn4t recognized by the code
??? The test for /usr/lib/kbd/keymaps is there precisely so it doesn't try to load it when /usr isn't mounted. /etc/sysconfig/console/default.kmap is there so that a keyboard map can be loaded early (for fsck recovery, etc.) The regular keymap will be loaded by the keytable init script later...