Estou executando uma instalação de Void linux via chroot, porém ao reinicializar a maquina a mesma não consegue montar a partição encriptada no qual reside a raiz do sistema.
Resumidamente, executei os seguintes passos:
Criei duas partições, uma partição encriptada com LUKS1 ‘raiz’ e outra partição sem encriptação ‘/boot’.
Montei-as em ‘/mnt’ normalmente.
Instalei o sistema base e alguns pacotes no qual escolhi (neofetch, vim, grub, cryptsetup).
Executei o ‘chroot’ em ‘/mnt’ e configurei o sistema. (resolv.conf; swapfile; fstab; cryptab; dracut.conf; /etc/default/grub; xbps-reconfigure -fa; grub-install & grub-mkconfig).
Pelo o que vi, após o grub inicializar a imagem do sistema, o mesmo não consegue encontrar a partição pois o mesmo não foi montado anteriormente, me direcionando ao ‘rescue shell’ do dracut.
Tentei inicialmente instalar o sistema em uma maquina real, porém após varias tentativas de reinstalar o sistema, tomei a decisão de primeiramente testar em uma VM, para entender o que ocorre. Estou enfrentando isso à alguns dias, recorri a internet e algumas documentações na internet porém ainda não consegui resolver, queria uma ajuda de terceiros sobre isso, alguém com mais experiencia.
Documentação consultada e prints das configurações do sistema:
Na inicialização o firmware da placa mãe passa a bola pro Grub.
Depois o grub passa a bola pro kernel, deixando engatilhado o initram
Daí o kernel usa o initram para achar o sistema. Depois que achou o sistema, passa a bola pro init system (systemd, openrc, etc).
O init system carrega tudo mais, inclusive o ambiente gráfico se configurado.
O que aconteceu no seu caso é que o grub passou a bola pro kernel, mas o kernel não conseguiu achar o sistema. Não entendo direito como funciona o boot com a partição raiz criptografada, mas acredito que deveria haver um arquivo do tipo o cryptab que seja incorporado no initram. Daí iria haver algum processamento para montar a partição /dev/sdXY descriptografando e montando em /dev/mapper/hd0 para ser montada como raiz pelo kernel. Porém essa etapa não aconteceu e o kernel tentou achar o /dev/mapper/hd0 e ele não existe.