I set my keyboard to german qwertz and set up full disk encryption through the setup GUI provided by the Live USB installer. However, GRUB and the early LUKS decryption at boot assume that my keyboard is an US qwerty keyboard, which leads to my password never being recognized as correct - since I use special characters in that password, which are bound to different keys compared to the german QWERTZ. How can I make GRUB use a german keyboard?
I can decrypt the drive using the Live USB (configured to user german qwertz keyboard) just fine.
Try edit your mkinitcpio.conf
move keyboard related init before autodetect and rebuild init and grub.
My /boot is on the root partition, therefore also encrypted. In your guide, /boot is a seperate unencrypted partition. Therefore, as far as I know, your solution wont work here.
Then you have a problem. And it is well known - others have had the issue before you.
As the init image is in your encrypted boot - it is impossible to get to the image without decryption and as grub do not support the necessary key layout you will have to use an encrypttion key which is available using a default keymap.
Some of the guides on encrypted installations has been written because many members complained of long decryption times and a few complained of missing keymap - dvorak - was one issue.
The recommendation - more like suggestions - is to
- grub - use an additinal separate unencrypted boot partition
- systemd - mounts the efi at boot - so there is no problem
This is uncharted territory for me (disclaimer)
but the following looks like something you might be interested in:
If you require a special keymap or other complex steps that GRUB is not able to configure automatically in order to make
/bootavailable to the GRUB environment, you can generate a core image yourself. On UEFI systems, the core image is the
grubx64.efifile that is loaded by the firmware on boot. Building your own core image will allow you to embed any modules required for very early boot, as well as a configuration script to bootstrap GRUB.