A solução é prestar atenção ao /etc/fstab
em sua geração, pois genfstab
não adiciona entradas para /boot
e /boot/efi
e deve ser feito manualmente.
Após chroot
, devemos montar novamente não apenas o ESP, mas também a partição /boot
. Então, grub-install
funcionará.
Atualização: A montagem /boot
e o ESP devem realmente ser feitos DEPOIS de montar o sistema de arquivos raiz em /mnt
, ou seja,
# format the ESP
mkfs.fat -F32 /dev/sda1
# set up LUKS for the boot partition
cryptsetup luksFormat /dev/sda2
cryptsetup open /dev/sda2 cryptoboot
mkfs.ext2 /dev/mapper/cryptoboot
# same for the root partition
cryptsetup luksFormat /dev/sda3
cryptsetup open /dev/sda3 cryptosystem
mkfs.f2fs /dev/mapper/cryptosystem
# mount root, and only then, mount /boot and the ESP, in that order
mount /dev/mapper/cryptosystem /mnt
mkdir /mnt/boot
mount /dev/mapper/cryptoboot /mnt/boot
mkdir /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi
# edit "/etc/pacman.d/mirrorlist", then continue with pacstrap etc
É uma questão de lógica. Se fizermos as coisas nessa ordem, genfstab
irá gerar entradas corretamente para todas as partições e tudo vai funcionar bem.