¿Cómo hago que Grub ejecute automáticamente cryptomount para cargar su file de configuration (arranque encriptado)?

Así que estoy tratando de get una partición de arranque totalmente encriptada. Estoy ejecutando Funtoo, pero principalmente obtengo ayuda de la wiki de Arch.

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

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

En mi /etc/default/grub tengo 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 arguments de linux son para better-initramfs . Incluyo una key para el sistema de files dentro del disco RAM, por lo que no me pide dos veces mi contraseña.

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, recibo un aviso de rescate de Grub. No puede encontrar su file de configuration (está en el disco de arranque / raíz encriptado). Entonces ejecuto los siguientes commands:

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

..y tengo un sistema completamente de arranque / trabajo! 🙂

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

Nota: Grub identifica el disco como (hd1,gpt3) muy probablemente porque mi memory USB todavía está enchufado. Eso debería cambiar a (hd0,gpt3) si lo desenchufo y reinicio.

Se apaga en Gentoo / Funtoo, el mapeador de dispositivos para grub no está habilitado por defecto. /etc/portage/package.use siguiente a /etc/portage/package.use :

 sys-boot/grub device-mapper 

Luego volví a emerger grub, ejecuté grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id="Funtoo Linux [GRUB]" --recheck y reiniciar para encontrar un luks pantalla de request de contraseña. Después de tipearlo, 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