Sample Header Ad - 728x90

Archlinux boots with German ISO keyboard layout even though US ANSI is defined

2 votes
0 answers
334 views
I recently switched from DE-ISO to US-ANSI layout and have an issue across my Archlinux machines that I cannot resolve which is a bit painful as the encryption key expects German layout but my keyboard is US. Here is what I have tried so far: 1. Checked that the US keymap is available on my system:
~
    ❯ localectl list-keymaps | grep -iI "us"
    
    amiga-us
    atari-us
    br-latin1-us
    cz-us-qwertz
    is-latin1-us
    mac-us
    sunt5-cz-us
    sunt5-us-cz
    us
    us-acentos
    us1
1. Changed KEYMAP for the vconsole:
~
    ❯ cat /etc/vconsole.conf
    KEYMAP=us
    FONT=lat9w-16
2. Ensured that the keymap hook comes before the encrypt one in mkinitcpio:
~
    ❯ grep -iI "hooks" /etc/mkinitcpio.conf
    # The following modules are loaded before any boot hooks are
    # HOOKS
    # This is the most important setting in this file.  The HOOKS control the
    # order in which HOOKS are added.  Run 'mkinitcpio -H ' for
    #    HOOKS=(base)
    #    HOOKS=(base udev autodetect block filesystems)
    #    HOOKS=(base udev block filesystems)
    #    HOOKS=(base udev block mdadm encrypt filesystems)
    #    HOOKS=(base udev block lvm2 filesystems)
    #    usr, fsck and shutdown hooks.
    HOOKS=(base udev autodetect modconf block keyboard keymap consolefont encrypt filesystems fsck shutdown)
3. Rebuilt mkinitcpio for the current Linux kernel:
~
    ❯ sudo mkinitcpio -p linux
    ==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
      -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
    ==> Starting build: 6.0.8-arch1-1
      -> Running build hook: [base]
      -> Running build hook: [udev]
      -> Running build hook: [autodetect]
      -> Running build hook: [modconf]
      -> Running build hook: [block]
    ==> WARNING: Possibly missing firmware for module: xhci_pci
      -> Running build hook: [keyboard]
      -> Running build hook: [keymap]
      -> Running build hook: [consolefont]
      -> Running build hook: [encrypt]
    ==> WARNING: Possibly missing firmware for module: qat_4xxx
      -> Running build hook: [filesystems]
      -> Running build hook: [fsck]
      -> Running build hook: [shutdown]
    ==> Generating module dependencies
    ==> Creating zstd-compressed initcpio image: /boot/initramfs-linux.img
    ==> Image generation successful
    ==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
      -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
    ==> Starting build: 6.0.8-arch1-1
      -> Running build hook: [base]
      -> Running build hook: [udev]
      -> Running build hook: [modconf]
      -> Running build hook: [block]
    ==> WARNING: Possibly missing firmware for module: qed
    ==> WARNING: Possibly missing firmware for module: qla1280
    ==> WARNING: Possibly missing firmware for module: wd719x
    ==> WARNING: Possibly missing firmware for module: qla2xxx
    ==> WARNING: Possibly missing firmware for module: bfa
    ==> WARNING: Possibly missing firmware for module: aic94xx
    ==> WARNING: Possibly missing firmware for module: xhci_pci
      -> Running build hook: [keyboard]
      -> Running build hook: [keymap]
      -> Running build hook: [consolefont]
      -> Running build hook: [encrypt]
    ==> WARNING: Possibly missing firmware for module: qat_4xxx
      -> Running build hook: [filesystems]
      -> Running build hook: [fsck]
      -> Running build hook: [shutdown]
    ==> Generating module dependencies
    ==> Creating zstd-compressed initcpio image: /boot/initramfs-linux-fallback.img
    ==> Image generation successful
However, when I boot the system, it fails to decrypt my device and between two encryption attempts I keep hitting random keys to see which keymap is active and it turns out it's still the German ISO layout.
~
❯ uname -a
Linux bunda 6.0.8-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 10 Nov 2022 21:14:24 +0000 x86_64 GNU/Linux
Is there any other location I could have defined that? What else could I check?
Asked by q9f (2418 rep)
Nov 17, 2022, 11:25 AM