2

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
    
  2. Changed KEYMAP for the vconsole:
    ~
    ❯ cat /etc/vconsole.conf
    KEYMAP=us
    FONT=lat9w-16
    
  3. 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 <hook name>' 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)
    
  4. 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?

q9f
  • 2,308
  • 8
  • 29
  • 39

0 Answers0