La configuración de Alpine en la máquina virtual UEFI no arranca

La configuración de Alpine en la máquina virtual UEFI no arranca

Estoy intentando configurar Alpine Linux en una máquina virtual (Proxmox) para replicar el diseño del hardware físico (raspberry pi). El diseño real es un raspberry pi 3, instalado en modo "datos" (basado enwiki) con :

  • Tarjeta SD: 2 particiones (/boot, /)
  • disco duro USB: 2 particiones (swap, /var)

Creo la VM arrancando como UEFI, con 2 discos scsi:

  • 8G, GPT, 2 particiones (/boot 512M FAT32 flags=boot,efi, / 7.5G ext4)
  • 60G, GPT, 2 particiones (intercambio 4G, /var 56G ext4)

Las particiones se crean usando gparted livecd, luego reinicio con alpine-virt iso.

Ejecuto el setup-alpinescript hasta que me pide el disco (presiono Ctrl+C). Luego monto el diseño del disco y ejecuto la instalación:

swapon /dev/sdb1
mount /dev/sda2 /mnt
mkdir -p /mnt/boot /mnt/var
mount /dev/sda1 /mnt/boot
mount /dev/sdb2 /mnt/var
apk add grub-efi efibootmgr
export BOOTLOADER=grub
export USE_EFI=1
setup-disk -m data /mnt

Luego veo este mensaje: You might need fix the MBR to be able to boot.Y cuando intento reiniciar, no arranca en el disco duro.

¿Qué tipo de magia me he perdido?

Respuesta1

En primer lugar: MBRen este caso el mensaje no tiene sentido. Siempre se muestra cuando se instala en particiones existentes, pero solo es relevante cuando se usa MBR (duh).

La parte crucial es que Alpine espera que la partición EFI se monte en/boot/efi no /boot. De lo contrario, los scripts de instalación se confunden y sobrescriben grub con syslinux, lo que hace que el sistema no pueda arrancar.

Entonces, modifica tus comandos para hacer esto en su lugar:

mkdir -p /mnt/boot/efi
mount -t vfat /dev/sda1 /mnt/boot/efi

y debería funcionar.

información relacionada