Look, the thing isn't if GRUB recognizes your FBSD installation. The point is the grub.cfg that you should have.
Here are a couple, I really hope that this helps you. Since it didn't it for me... Anyways, it's just matter of time (and search) to find the right configuration.
The first you should, is run # nano /etc/grub.d/40_custom
Now, add one (or all) of the below:
menuentry "FreeBSD 13" {
insmod ufs2
set root= (hd0,2)
kfreebsd /boot/loader
}
menuentry "FreeBSD-13.0 Release" {
set root=(hd0,gpt2)
chainloader /boot/boot1.efi
}
menuentry "FreeBSD" --class freebsd --class bsd --class os {
insmod ufs2
insmod bsd
set root=(hd0,2)
kfreebsd /boot/kernel/kernel
kfreebsd_loadenv /boot/device.hints
set kFreeBSD.vfs.root.mountfrom=ufs:/dev/ada0s1a
set kFreeBSD.vfs.root.mountfrom.options=rw
set kFreeBSD.hw.psm.synaptics_support=1
}
menuentry "FreeBSD-13.0 Release" {
set root=(hd0,gpt2)
chainloader /boot/boot1.efi
}
menuentry "FreeBSD 13" --class freebsd --class bsd --class os {
insmod ufs2
insmod bsd
set root=(hd0,ufs2)
kfreebsd /boot/kernel/kernel
kfreebsd_loadenv /boot/device.hints
set kFreeBSD.vfs.root.mountfrom=ufs:/dev/ada0s1a
set kFreeBSD.vfs.root.mountfrom.options=rw
set kFreeBSD.hw.psm.synaptics_support=1
}
menuentry "FreeBSD 13.X" --class freebsd --class bsd --class os {
insmod ufs2
insmod bsd
set root=(hd0,1)
kfreebsd /boot/kernel/kernel
kfreebsd_loadenv /boot/device.hints
set kFreeBSD.vfs.root.mountfrom=ufs:/dev/ada0s2a
set kFreeBSD.vfs.root.mountfrom.options=rw
set kFreeBSD.hw.psm.synaptics_support=1
}
Then,run
# grub-update /dev/sdLN
(Where "L" means your drive, for example, sda; "N", means the partition: 1,2,3...)
* If you're able to use grub2, do the same, just adding the "2" at "grub".
& run # os-prober
Make # chmod u+x /etc/grub.d/40_custom
If something fails, repeat the steps, changing the order. It is very important that you edit 40_custom, or the GRUB won't recognize because of yes the FreeBSD partition.
Right now I can't help you too much. I'm gonna try OpenBSD. Distrohopper life, whatever.
Report if something went wrong.
Bye.