Hello again, Continuing on my adventures with installing Guix System on LVM on LUKS with Grub as bootloader, I would like to suggest a few adujstments to how Grub is installed in Guix:
- Install the keymaps in the EFI partition like the Grub modules, so that the proper keymap is setup early in the boot process. In the context of full-disk encryption, this is very important because in the current state of things, one has to enter the passphrase using the default US layout before the proper keymap can be loaded from the encrypted store. One can manage working around that with a bit of training, but having to enter a passphrase with an incorrect keymap is objectively a broken behaviour. Furthermore, when the kernel later requires the passphrase again, it has to be entered in the proper layout. This is inconsistent. - Set the terminal_output before any user input is required (and in particular the passphrase request), for proper interaction. In my case, the laptop has a HiDPI display and Grub starts with a nice terminal in 3840x2160 resolution with very small characters. Not only is it unreadable, but Grub is also known to be extremely slow with high resolutions [1], which makes interaction painful. [1] https://askubuntu.com/questions/1227735/grub-is-extremely-slow-1-second-per-key-input - Offer the option to put kernels and initrds in the EFI partition (and also any resource needed by Grub like the background picture, locales etc), so that Grub can be fully functional without decrypting. Apart from solving the issue of having to enter the passphrase twice and with different keymaps, this would also allow having Guix System in an encrypted partition while allowing to boot other systems without requiring its passphrase. I would love to propose patches for that but I am too much of a beginner with Guix to be able to do that right now… -- Emmanuel