Bug 1101006

Summary: unable to switch layout, unable to log into system
Product: [Fedora] Fedora Reporter: Stas Sergeev <stsp2>
Component: kbdAssignee: Vitezslav Crhonek <vcrhonek>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 19CC: mfabian, vcrhonek
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-16 12:20:38 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Stas Sergeev 2014-05-25 12:00:03 UTC
Description of problem:
After some update about a half of year ago,
I ceased being able to log into system!
All these months long I was using some tricks
to log in (like booting in rescue mode), till
I finally found a solution.

Version-Release number of selected component (if applicable):
kbd-misc-1.15.5-9.fc19.noarch

How reproducible:
easily

Steps to Reproduce:
1. loadkeys ru
2. type something

Actual results:
It types russian if unicode_start was done,
otherwise it types squares.

Expected results:
Should still type english till I explicitly switch
layout.

Additional info:
The problem appears to be that ru.map.gz have
recently appeared in /lib/kbd/keymaps/xkb.
Previously it was only in /usr/lib/kbd/keymaps/i386/qwerty,
and it was working very well. Now there are 2 different
ru.map.gz, and loadkeys takes the one from keymaps/xkb,
and that one is broken.
Also dracut takes it into an initramfs, and you get an
unloggable system.

The solution is to remove /lib/kbd/keymaps/xkb/* and
regenerate initramfs. Now I finally can login without
a rescue mode...

Comment 1 Vitezslav Crhonek 2014-06-16 12:20:38 UTC
The original keymap (/usr/lib/kbd/keymaps/i386/qwerty/ru.map.gz) is still available in kbd-legacy package (/lib/kbd/keymaps/legacy/i386/qwerty/ru.map.gz).
kbd-legacy is required by kbd, so it has to be installed on the system.

The new keymap is automatically converted from XKB layout, see [1] for more information. Unfortunately, for some keymaps the resulting new keymap is not suitable and ru.map.gz is one of them, see [2]. Should work fine in F20 and newer.

I won't fix that in F19 because it's not a trivial change, F19 is going to be at EOL soon and the issue can pretty easily workarounded (just replace generated kaymap with the original).

Sorry for inconvenience.

[1] https://lists.fedoraproject.org/pipermail/devel/2013-May/183099.html
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1031848

Comment 2 Stas Sergeev 2014-06-16 12:48:24 UTC
(In reply to Vitezslav Crhonek from comment #1)
> be at EOL soon and the issue can pretty easily workarounded (just replace
> generated kaymap with the original).
No because dracut took it into initramfs, where
replacing it is not so easy (need to re-generate initramfs).
Also, to replace it you need to log in while you can't.
So the work-around is not trivial, I'd say it is
impossible for most users (eg you need a skills to
boot from another media and access your FS, regenerate
initramfs etc).