¿Cómo consigo que Grub ejecute cryptomount automáticamente para cargar su archivo de configuración (arranque cifrado)?

¿Cómo consigo que Grub ejecute cryptomount automáticamente para cargar su archivo de configuración (arranque cifrado)?

Así que estoy intentando crear una partición de arranque completamente cifrada. Estoy ejecutando Funtoo, pero principalmente extraigo ayuda de la wiki de Arch.

Así que decidí hacer algo loco/controvertido: no separar particiones de arranque/raíz. Mi configuración se ve así:

/dev/nvme0n1p1  - EFI parition
/dev/nvme0n1p2  - Swap
/dev/nvme0n1p3  - Encrypted /

En mi /etc/default/grubtengo lo siguiente:

GRUB_ENABLE_CRYPTODISK=y
GRUB_PRELOAD_MODULES="luks cryptodisk"
GRUB_CMDLINE_LINUX="luks enc_root=/dev/nvme0n1p3 root=/dev/mapper/enc_root"

Todos los argumentos de Linux son paramejores-initramfs. Incluyo una clave para el sistema de archivos dentro del disco ram para que no me solicite mi contraseña dos veces.

Instalé Grub usando lo siguiente:

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id="Funtoo Linux [GRUB]" --recheck --boot-directory=/boot/efi/EFI

Entonces, en su estado actual, aparece un mensaje de rescate de Grub. No puede encontrar su archivo de configuración (está en el disco raíz/de arranque cifrado). Entonces ejecuto los siguientes comandos:

insmod luks
cryptomount (hd1,gpt3)
set root=(crypto0)
configfile (crypto)/boot/grub/grub.cfg

..y tengo un sistema que arranca/funciona completamente! :)

Entonces mi pregunta es: ¿cómo configuro el cargador Grub EFI para intentar cargar automáticamente la partición cifrada (crypt0)y leer su archivo de configuración?

Nota: Grub identifica el disco como (hd1,gpt3)lo más probable porque mi memoria USB todavía está conectada. Eso debería cambiar (hd0,gpt3)si lo desconecto y reinicio.

Respuesta1

Resulta que en Gentoo/Funtoo, el asignador de dispositivos para grub no está habilitado de forma predeterminada. Agregué lo siguiente a /etc/portage/package.use:

sys-boot/grub device-mapper

Luego resurgié grub, ejecuté grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id="Funtoo Linux [GRUB]" --rechecky reinicié para encontrar una pantalla de solicitud de contraseña de Luks. Después de escribirlo, todo arrancó perfectamente.

Un agradecimiento especial a frostschutz que proporcionó la solución en este hilo:

https://forums.gentoo.org/viewtopic.php?p=7972812#7972812

información relacionada