Received: (at 81064) by debbugs.gnu.org; 26 May 2026 06:25:44 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue May 26 02:25:43 2026 Received: from localhost ([127.0.0.1]:57560 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1wRlEV-00063R-A0 for submit <at> debbugs.gnu.org; Tue, 26 May 2026 02:25:43 -0400 Received: from mailtransmit05.runbox.com ([2a0c:5a00:149::26]:40542) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <maxim@HIDDEN>) id 1wRlEQ-00061M-Pd for 81064 <at> debbugs.gnu.org; Tue, 26 May 2026 02:25:41 -0400 Received: from mailtransmit03.runbox ([10.9.9.163] helo=aibo.runbox.com) by mailtransmit05.runbox.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from <maxim@HIDDEN>) id 1wRlEJ-0003Gc-14 for 81064 <at> debbugs.gnu.org; Tue, 26 May 2026 08:25:31 +0200 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=guixotic.coop; s=selector2; h=Content-Type:MIME-Version:Message-ID:Date: References:In-Reply-To:Subject:Cc:To:From; bh=RiXdI6BZEsQidKrrr5krjVaBjPZg9IHG10aAQu1CoyY=; b=DVx3wDkw/J/qT9xnmoDHTupsIl uAwbLCEW1MuHrhVq/gLXOILmwLcAt+SXDd7d2wVkF8lZhZdyJ/q2MegPXhuZtaIE28+xj1LE84aCk WX+ikBUFgLp9lF/tezzGa1sAYMUhEWKOEJLDC/M6YDsoz4L/zTjHYxPsqEIN9Nr2aZUm1nx0MVVTc +Ed7zQoJIIeVnV/2Ck7e26JMps8FscditI+cevLsegdW0YGBS8eXT1yk7HLB8c2Z62mi/W1zdnd0S L2aZcd4AYrqJekWuWepk0hY8RfhNP5HUdcpYZn0BrbbPLpcgsgiuMwDf2nTt4tzZWGrbQFQUmoIpE rMzBPvag==; Received: from [10.9.9.74] (helo=submission03.runbox) by mailtransmit03.runbox with esmtp (Exim 4.86_2) (envelope-from <maxim@HIDDEN>) id 1wRlEI-0005ja-Fd; Tue, 26 May 2026 08:25:30 +0200 Received: by submission03.runbox with esmtpsa [Authenticated ID (1476852)] (TLS1.2:ECDHE_SECP256R1__RSA_SHA256__AES_256_GCM:256) (Exim 4.95) id 1wRlE1-00Awmc-24; Tue, 26 May 2026 08:25:13 +0200 From: Maxim Cournoyer <maxim@HIDDEN> To: Mathieu <mathieu@HIDDEN> Subject: Re: bug#81064: LUKS: Wrong keyboard layout at GRUB LUKS prompt In-Reply-To: <3bb6ffa9-21de-4a47-a3af-b911d55df6a2@HIDDEN> (mathieu@HIDDEN's message of "Sun, 17 May 2026 15:25:39 +0300") Organization: Guixotic References: <3bb6ffa9-21de-4a47-a3af-b911d55df6a2@HIDDEN> Date: Tue, 26 May 2026 15:25:10 +0900 Message-ID: <87jysqelh5.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 81064 Cc: 81064 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) Hi Mathieu, Could you test your hypothesis by manually editing (as root) your /boot/grub/grub.cfg file and rebooting? And where is your keymap located? If it's in your encrypted root file system, that would be another reason why GRUB has to prompt for your LUKS passphrase before your keymap can be loaded. On my system: $ grep -i key /boot/grub/grub.cfg insmod keylayouts keymap /@root/gnu/store/xl5j57iif0smly7667nb9k7kl8l7814i-grub-keymap.us -- Thanks, Maxim
bug-guix@HIDDEN:bug#81064; Package guix.
Full text available.
Received: (at submit) by debbugs.gnu.org; 17 May 2026 12:26:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 17 08:26:31 2026
Received: from localhost ([127.0.0.1]:42171 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1wOaZg-0008BU-Bw
for submit <at> debbugs.gnu.org; Sun, 17 May 2026 08:26:31 -0400
Received: from lists1p.gnu.org ([2001:470:142::17]:60484)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <mathieu@HIDDEN>) id 1wOaZc-000873-S1
for submit <at> debbugs.gnu.org; Sun, 17 May 2026 08:26:26 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <mathieu@HIDDEN>) id 1wOaZD-0004r0-0U
for bug-guix@HIDDEN; Sun, 17 May 2026 08:25:59 -0400
Received: from 4.mo584.mail-out.ovh.net ([178.32.98.131])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from <mathieu@HIDDEN>) id 1wOaZA-0003Bs-Sg
for bug-guix@HIDDEN; Sun, 17 May 2026 08:25:58 -0400
Received: from director4.ghost.mail-out.ovh.net (unknown [10.110.0.173])
by mo584.mail-out.ovh.net (Postfix) with ESMTP id 4gJKsM4Zvyz8BpC
for <bug-guix@HIDDEN>; Sun, 17 May 2026 12:25:43 +0000 (UTC)
Received: from ghost-submission-7d8d68f679-6t6vm (unknown [10.110.178.109])
by director4.ghost.mail-out.ovh.net (Postfix) with ESMTPS id A742DC22E8
for <bug-guix@HIDDEN>; Sun, 17 May 2026 12:25:42 +0000 (UTC)
Received: from darce.fr ([37.59.142.114])
by ghost-submission-7d8d68f679-6t6vm with ESMTPSA
id VyPRMcWzCWpuPToAFaVvuQ (envelope-from <mathieu@HIDDEN>)
for <bug-guix@HIDDEN>; Sun, 17 May 2026 12:25:42 +0000
Authentication-Results: garm.ovh; auth=pass
(GARM-114S008217b75e8-2fff-4f66-ac7d-715859086d9a,
E6F47A28A4EBE68FA5799244E40CB55B7171E7C5) smtp.auth=transfert@HIDDEN
X-OVh-ClientIp: 102.17.118.19
Content-Type: multipart/alternative;
boundary="------------1vfcy1LdvQEsWJUVjQfFLtkb"
Message-ID: <3bb6ffa9-21de-4a47-a3af-b911d55df6a2@HIDDEN>
Date: Sun, 17 May 2026 15:25:39 +0300
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: bug-guix@HIDDEN
Content-Language: en-US
From: Mathieu <mathieu@HIDDEN>
Subject: LUKS: Wrong keyboard layout at GRUB LUKS prompt
x-ovh-tracer-id: 12954322853286391149
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: 0
X-VR-SPAMCAUSE: dmFkZTEkryh7A5UTyKfI6bFEf6SA1lx14oSLNSgbDS7GNVurhrBgze6J1RU2bk1YzEJDjT5UjxuuZ6aCaYCXz7xqd0s8L11m7RWj7bjIu2zeiIyN9V65mivcYPuSy8j6iITysmJh8gxa84l1yqeFw+nWRkYnMq7GwLIFJqghpqHA/fsHZgg5zQx/hQmEh+w6iBHjC/bA4HGbTKfze1vEaOUBxqs+qvOPBDsIuVx++j96mH+3NiZAvGjsTbWRGuHqs8kYbagP2ojSj93jkhscUch4rqGeCKAr3C/ahx2Bi+QwGcKgS+jk8+sMYw0BeFpYExVQOGtuT/Pn6HHuaH1nk5xQCNtSuAm5uHLB5JkNtdHr4B0vhfZciUPevtk2eGUfEoP+MUSLTcZaGuYoTAApASoffR+WOFE7p8G75slwO9NJVW8kXUXMOYiHfywjhS29BYEAk3FVtkMrGOz6KGKagooQoNIJ4BOeQ+TbuDfHwTvNcbBS4vhT5Yt4LxLTxlFcMTZ5zi3TWwauC4rAMFJU8Uc3BlEdt3h/Xq38CiD6RSkJg/gZMzzb7kTPdus/FLod9XjMvP+1OiEUPv0EJojdLFktWA8KCY7Dt4jR4pyxzIKNFziGejCDJlVF9tESm7qfEMwYk0jFbHf8e95P5TCUE17ISoRlCegRwRf+3zCOUgQtEs/0rg
Received-SPF: pass client-ip=178.32.98.131; envelope-from=mathieu@HIDDEN;
helo=4.mo584.mail-out.ovh.net
X-Spam_score_int: -18
X-Spam_score: -1.9
X-Spam_bar: -
X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, HTML_MESSAGE=0.001,
RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001,
SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.9 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.1 (/)
This is a multi-part message in MIME format.
--------------1vfcy1LdvQEsWJUVjQfFLtkb
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Hello,
I would like to report an issue related to encrypted systems using LUKS
and non-US keyboard layouts in GNU Guix with GRUB EFI.
On my laptop, the LUKS passphrase prompt during early boot always uses a
US/QWERTY keyboard layout, even though the system is configured with:
|(keyboard-layout (keyboard-layout "fr" "azerty")) |
both at the |operating-system| level and inside |bootloader-configuration|.
Interestingly, once the GRUB menu itself appears, the French AZERTY
layout works correctly. This strongly suggests that the keymap is loaded
too late in the GRUB initialization sequence.
After investigation, I found that the generated |/boot/grub/grub.cfg|
contains:
|insmod luks insmod luks2 cryptomount -u ... ... insmod keylayouts
keymap /gnu/store/...-grub-keymap.fr |
This means the |cryptomount| commands (and therefore the LUKS passphrase
prompt) occur before the French keymap is loaded.
As a result:
*
the LUKS prompt appears to interpret input as US/QWERTY;
*
the configured keyboard layout only becomes active afterward, once
the GRUB menu appears.
Therefore, it seems that Guix currently generates the GRUB configuration
in an order that may prevent non-US keyboard layouts from being applied
to early LUKS passphrase prompts.
For context:
*
|/boot| itself is not encrypted;
*
this occurs on a laptop using GRUB EFI;
*
on another machine accessed through IPMI Serial-over-LAN, the issue
is not visible because input handling differs through the serial
console.
For transparency: this report was written with the assistance of
ChatGPT, under my direction. ChatGPT helped identify the likely root
cause by analyzing the generated |grub.cfg| and noticing that the
|keymap| command is inserted after the |cryptomount| commands.
Thank you for your work on GNU Guix and GRUB integration.
Best regards,
Mathieu
--------------1vfcy1LdvQEsWJUVjQfFLtkb
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hello,</p>
<p>I would like to report an issue related to encrypted systems
using LUKS and non-US keyboard layouts in GNU Guix with GRUB EFI.</p>
<p>On my laptop, the LUKS passphrase prompt during early boot always
uses a US/QWERTY keyboard layout, even though the system is
configured with:</p>
<pre><code class="language-scheme">(keyboard-layout (keyboard-layout "fr" "azerty"))
</code></pre>
<p>both at the <code>operating-system</code> level and inside <code>bootloader-configuration</code>.</p>
<p>Interestingly, once the GRUB menu itself appears, the French
AZERTY layout works correctly. This strongly suggests that the
keymap is loaded too late in the GRUB initialization sequence.</p>
<p>After investigation, I found that the generated <code>/boot/grub/grub.cfg</code>
contains:</p>
<pre><code class="language-grub">insmod luks
insmod luks2
cryptomount -u ...
...
insmod keylayouts
keymap /gnu/store/...-grub-keymap.fr
</code></pre>
<p>This means the <code>cryptomount</code> commands (and therefore
the LUKS passphrase prompt) occur before the French keymap is
loaded.</p>
<p>As a result:</p>
<ul>
<li>
<p>the LUKS prompt appears to interpret input as US/QWERTY;</p>
</li>
<li>
<p>the configured keyboard layout only becomes active afterward,
once the GRUB menu appears.</p>
</li>
</ul>
<p>Therefore, it seems that Guix currently generates the GRUB
configuration in an order that may prevent non-US keyboard layouts
from being applied to early LUKS passphrase prompts.</p>
<p>For context:</p>
<ul>
<li>
<p><code>/boot</code> itself is not encrypted;</p>
</li>
<li>
<p>this occurs on a laptop using GRUB EFI;</p>
</li>
<li>
<p>on another machine accessed through IPMI Serial-over-LAN, the
issue is not visible because input handling differs through
the serial console.</p>
</li>
</ul>
<p>For transparency: this report was written with the assistance of
ChatGPT, under my direction. ChatGPT helped identify the likely
root cause by analyzing the generated <code>grub.cfg</code> and
noticing that the <code>keymap</code> command is inserted after
the <code>cryptomount</code> commands.</p>
<p>Thank you for your work on GNU Guix and GRUB integration.</p>
<p>Best regards,<br>
Mathieu</p>
<p><br>
</p>
</body>
</html>
--------------1vfcy1LdvQEsWJUVjQfFLtkb--
Mathieu <mathieu@HIDDEN>:bug-guix@HIDDEN.
Full text available.bug-guix@HIDDEN:bug#81064; Package guix.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.