bug-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #65113] Add All Keyboard Layouts and Selector to Early GRUB Core Im


From: adrelanos
Subject: [bug #65113] Add All Keyboard Layouts and Selector to Early GRUB Core Image (grubx64.efi)
Date: Wed, 3 Jan 2024 10:44:12 -0500 (EST)

URL:
  <https://savannah.gnu.org/bugs/?65113>

                 Summary: Add All Keyboard Layouts and Selector to Early GRUB
Core Image (grubx64.efi)
                   Group: GNU GRUB
               Submitter: adrelanos
               Submitted: Wed 03 Jan 2024 03:44:12 PM UTC
                Category: Configuration
                Severity: Major
                Priority: 5 - Normal
              Item Group: Feature Request
                  Status: None
                 Privacy: Public
             Assigned to: None
         Originator Name: 
        Originator Email: 
             Open/Closed: Open
                 Release: Git master
                 Release: 
         Discussion Lock: Any
         Reproducibility: Every Time
         Planned Release: None


    _______________________________________________________

Follow-up Comments:


-------------------------------------------------------
Date: Wed 03 Jan 2024 03:44:12 PM UTC By: adrelanos <adrelanos>
Issue:

When using encrypted /boot, the boot process fails for users with non-QWERTY
keyboards. This issue arises when a user sets a passphrase for disk encryption
using a keyboard layout other than American QWERTY. At boot time, the keyboard
layout defaults to American, causing the entered passphrase to differ from the
expected one, leading to problems in unlocking the encrypted disk.

This issue has been discussed on the issue tracker of the popular Calamares
Linux installer software. [1]

Suggested Solution:

1. Modify `grub-mkimage` to by default include all keyboard layouts in the
resulting GRUB core image (`grubx64.efi`).
2. Add a keyboard layout switcher to early GRUB.
3. Read the keyboard layout from EFI variables or another file.

This might need to be split into separate tickets.

Potential Issue:

Adding all keyboard layouts to the image might significantly increase the size
of the core image, potentially making it too large or slow for practical use.

Alternative Solution:

Could the core image search for (signed) keyboard layout files in the EFI
partition and load them?

Non-Solution:

The Arch Linux Wiki describes how a user can build a custom EFI core image
(`grubx64.efi`). [2] However, this leads to issues with Secure Boot, as the
image isn't signed with a key trusted by Shim.

This is not easily implementable since this issue has been unresolved since at
least 2019. Distributions such as Ubuntu and PureOS (among possibly others)
are reverting back to unencrypted /boot.

Not So Great Solution:

Distributions could ship multiple images, one for each keyboard layout.
However, if this is the suggested approach, please specify.

EFI Specific:

Suggestions 1 and 2 are generic. Suggestion 3 is EFI specific and should
therefore be optional.

Terminology:

- Early GRUB: The GRUB core image (`grubx64.efi`) just after being started by
Shim or firmware, prompting for the password for the full disk encrypted (FDE)
disk (including encrypted /boot). At this time, even /boot is unavailable,
hence no keyboard layout files can be loaded from `/boot/grub` and there's no
`/boot/grub/grub.cfg`.

References:

[1] https://github.com/calamares/calamares/issues/1203
[2]
https://wiki.archlinux.org/title/GRUB/Tips_and_tricks#Manual_configuration_of_core_image_for_early_boot







    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?65113>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]