Unlock encrypted disk at boot time only supports English keyboard - please update documentation

In Blufin installation setup program I have checked check box to encrypt the disk and set the password.

After installation reboot is required and at first Blufin boot only English keyboard is accepted to unlock encrypted disk.

I have found solution:

  1. Find out the on which keys are special character like in US keyboard e.g. \https:\en.wikipedia.org/wiki/British_and_American_keyboards
  2. Start Blufin and in unlock encrypted disk dialog type in password using English keyboard (see first step for keys locations).
  3. After Blufin boots and you login into Blufin type in command (found on Silverblue forum): sudo rpm-ostree initramfs-etc --track=/etc/vconsole.conf
  4. Reboot. Now correct keyboard (that was selected during Blufin installation program) is used to unlock encrypted disk.

May I suggest to add this info to official documentation like in Administration or FAQ sections. I have struggled to find this info.

Sure the best would be to fix the issue in the first place or at least to write some notification when encrypted disk checkbox is checked in installation program, but this is probably of of scope of Blufin (it has to be fixed upstream in Silverblue).

EDIT: Now I have also found official known issue on Silverblue:
\https://docs.fedoraproject.org/en-US/fedora-silverblue/installation/#known-limitations

3 Likes

It might already be solved in latest versions.

I’m running Aurora:latest and while it only offered US unlock the first boot or two, now my keyboard layout is Dvorak. I selected Dvorak US Eng during installation.

This is the first time on any distro I’ve seen GRUB offer a non-US-ENG layout.

1 Like

Omg, thank you for this post. I just almost got locked out of my laptop repeatedly until I remembered this post.

1 Like

I have downloaded image two days ago (August-14 2024).

The main issue is the first time someone boots image after installation and Blufin is using English/US keyboard.

My first reaction was, at installation procedure to set encrypted disk I have probably typed in two times the same password, but I have two times mistyped it (probably not very probable) and so I reinstalled the Blufin and the same problem. Then I have searched the web and found the Silverblue’s forum post, typed in password just like my keyboard is English/US and Blufin booted.

1 Like

In above article issue described in this forum post: This fix is important for setups where the root disk is encrypted with LUKS and the user is asked a passphrase on boot. Right now, the keyboard layout is not remembered and defaults to the US QWERTY layout. Unfortunately this fix did not land in time for Fedora 41 but this will be part of the Fedora 42 installations ISOs…

But… from Fedora bug tracker I see there is better solution then the one posted in my first post. Better = every rpm-ostree update is faster. :slight_smile:

How I did it:

  1. Check current settings:
    rpm-ostree status
â—Ź ostree-image-signed:docker://ghcr.io/ublue-os/bluefin:stable
                   Digest: sha256:50948e694809286845380cf527332cdfba6c72036ebd288615c85c2d9497ee7e
                  Version: 40.20241102.0 (2024-11-03T17:56:19Z)
             InitramfsEtc: /etc/vconsole.conf
  1. Notice last line “InitramfsEtc: /etc/vconsole.conf”. This is because of solution I did in my first post: sudo rpm-ostree initramfs-etc --track=/etc/vconsole.conf. Now I will remove this with:
    sudo rpm-ostree initramfs-etc --untrack=/etc/vconsole.conf

  2. Re-check the status:
    rpm-ostree status
    and I get:

  ostree-image-signed:docker://ghcr.io/ublue-os/bluefin:stable
                   Digest: sha256:50948e694809286845380cf527332cdfba6c72036ebd288615c85c2d9497ee7e
                  Version: 40.20241102.0 (2024-11-03T17:56:19Z)

â—Ź ostree-image-signed:docker://ghcr.io/ublue-os/bluefin:stable
                   Digest: sha256:50948e694809286845380cf527332cdfba6c72036ebd288615c85c2d9497ee7e
                  Version: 40.20241102.0 (2024-11-03T17:56:19Z)
             InitramfsEtc: /etc/vconsole.conf
  1. If I reboot now I will have US keyboard. But… second option is. Check all available keyboards:
    localectl list-keymaps
    and make sure keyboard is listed there.

    Note: If your current up till now solution was solution from my first post, then the simplest way to get info about current keyboard is to reboot and check what is displayed at keyboard icon. For example for US keyboard it is displayed “us”:

  2. Now set keyboard:
    rpm-ostree kargs --editor
    and at the end of line add space and add vconsole.keymap=fr but replace fr with your keyboard from previous step.

  3. Reboot.
    reboot

Problem solved! My native keyboard is displayed at disk decrypt password at boot. The benefit of this solution is every update of “rpm-ostree” is going to be faster, because there is no need for additional layer for keyboard. Now keyboard setting is taken from file instead of separate image layer.

ATTENTION: If you have some special non English characters (like me) in disk decrypt password, make sure you know where on keyboard are those characters or… else you will be having problem booting, like me… struggling to find out where are non-English characters on US keyboard. :slight_smile: How you know you have typed in wrong keyboard in step 5? At boot time there is no keyboard icon and keyboard name like this:

3 Likes