Dual Boot Debian FreeBSD Grub-Efi. Dopo l'installazione di FreeBSD a fianco di altri OS, se si utilizza Grub come bootloader, bisogna configurarlo correttamente per riuscire a fare il boot da FreeBSD. Utlizzando l'installer UEFI di FreeBSD, verrano create tre partizioni:
root@debianbox:/home/edmond# fdisk -l
Disk /dev/sda: 232.9 GiB, 250059350016 bytes, 488397168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 1473D773-9A10-427F-814C-A04A354C6E1B
Device Start End Sectors Size Type
/dev/sda1 2048 391167 389120 190M EFI System
/dev/sda2 391168 98047999 97656832 46.6G Linux filesystem
/dev/sda3 98048000 101953535 3905536 1.9G Linux swap
/dev/sda4 101953536 101986303 32768 16M Microsoft reserved
/dev/sda5 101986304 220737535 118751232 56.6G Microsoft basic data
/dev/sda6 220737536 269565951 48828416 23.3G Linux filesystem
/dev/sda7 269565952 269975551 409600 200M EFI System
/dev/sda8 269975552 301432831 31457280 15G FreeBSD UFS
/dev/sda9 301432832 305627135 4194304 2G FreeBSD swap
Disk /dev/sdb: 232.9 GiB, 250059350016 bytes, 488397168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: C1A781CD-2BE7-4BC5-8FC1-081B44BB5144
Device Start End Sectors Size Type
/dev/sdb1 2048 391167 389120 190M EFI System
/dev/sdb2 391168 31641599 31250432 14.9G FreeBSD UFS
/dev/sdb3 31641600 35547135 3905536 1.9G Linux swap
non avendo problemi di spazio non ho bisogno di spostare il contenuto della partizione /dev/sda7 EFI in /dev/sda1 EFI, quindi per poter avviare FreBSD bisogna creare un menuentry corretto per Grub:
# nano /etc/grub.d/40_custom
che deve essere come sotto:
menuentry "FreeBSD" {
insmod part_gpt
insmod fat
set root=(hd0,gpt7)
chainloader /efi/boot/BOOTx64.efi
}
nel mio caso la partizione EFI FreeBSD è su /dev/sda7, quindi é la che deve puntare il menuentry.
# update-grub && grub-mkconfig
# reboot
enjoy 😉