boot keyboardmapping changed to US (?) → password error on boot
I get a password error when decrypting my luks encrypted partition.
I have a german keyboard.
I can only start when I type in the ‘&’ from the US keyboard position.
My keyboard configuration is
localectl
System Locale: LANG=de_DE.UTF-8
VC Keymap: de
X11 Layout: de
X11 Model: pc105
X11 Options: terminate:ctrl_alt_bksp
What changed with the update is /etc/mkinitcpio.conf
# before update - now locks the system, chroot-fun ...
# HOOKS=(base systemd autodetect modconf kms keyboard sd-vconsole sd-encrypt block filesystems fsck)
# after the update
#HOOKS=(base udev autodetect microcode kms modconf block keyboard keymap consolefont plymouth encrypt filesystems)
# my *futile* attempt to get the correct keyboard layout (moved block, left out keymap)
HOOKS=(base udev autodetect microcode kms modconf keyboard consolefont plymouth encrypt block filesystems)
Any ideas to enable my german keyboard layout for disk decryption at boot?
Maybe keymap is important but gets ignored?
Adds the specified console keymap(s) from /etc/vconsole.conf to the initramfs. If you use system encryption, especially full-disk encryption, make sure you add it before the encrypt hook.
Ok turns out my issue is that as well. Both mkinitcpio.conf and grub are still as I configured them on initial setup, the busybox way.
Tried using US layout, and my pw got accepted. Was just too tired to pick up on the subtle clues (the layout icon looks off because theres no countrycode next to it).
Can confirm that’s not the issue. Here’s my hooks that worked before and don’t after the update:
HOOKS=(base udev autodetect kms modconf block keyboard keymap consolefont plymouth encrypt filesystems)
/etc/vconsole.conf is simply KEYMAP=de
So appreciate any further clues.
Same here, using HOOKS=(base udev ... keymap ...) but keymap defaults to US when unlocking during early boot.
This seems to be a Plymouth issue though, not an initcpio issue per se. When not using Plymouth (plymouth ask-for-password to be precise, see /usr/lib/initcpio/hooks/encrypt), the keymap configured via /etc/vconsole.conf is applied correctly.
Move the keyboard and keymap hooks closer to the start of the HOOKS array, so that they are located in front of the autodetect hook. Then, rebuild your initramfs.
Saw an update for manjaro plymouth theme, applied it, still only US layout.
Then moved both before autodetect, ran mkinitcpio -P and update-grub, still only US layout.
Removed plymouth entirely and rebuilt, got greeted with basic text interface, but configured keyboard layout works again!
So yes, definitely plymouth, sadly not fixed by latest plymouth theme update.
Also, unrelated: Getting a very reliable code-oss crash when closing windows with unsaved files. So likely on popup.
And half the time (2 out of 4) it took out kwin with it. Looks like this:
[Jun28 16:39] traps: code-oss[24723] general protection fault ip:5584be65dabb sp:7ffe8ac468f0 error:0 in electron[ba34abb,5584b4620000+a5f6000]
[ +4,218990] kwin_wayland[2020]: segfault at 0 ip 0000000000000000 sp 00007ffecd3aa378 error 14 likely on CPU 2 (core 1, socket 0)
[ +0,000009] Code: Unable to access opcode bytes at 0xffffffffffffffd6.
Unlikely to make any difference, see the links I posted. Also, as stated, the keymap is applied correctly within the initramfs, but gets ignored by Plymouth (which is what usually prompts for passphrases).
That matches my findings. Thus, the options/workarounds currently are:
Disable plymouth so that encrypt hook falls back to a passphrase prompt that obeys the configured keymap
Done. I’d held back on those but since one has since been edited, both now seem to fit better here. Naturally, we try to avoid breaking thread continuity.¹