How to dual boot with FreeBSD

I maked 40_custom like this:

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry "FreeBSD" {
    insmod bsd
    insmod ufs2
    set root=(hd0,gpt4)
    kfreebsd /boot/loader
}

GRUB2 says bsd.mod and ufs2.mod not found but they’re at /boot/grub2/x86_64-efi/

ls /boot/grub2/x86_64-efi/
acpi.mod              cpio_be.mod     fshelp.mod              halt.mod                  luks.mod         offsetio.mod         reiserfs.mod        true.mod
adler32.mod           cpio.mod        fs.lst                  hashsum.mod               lvm.mod          ohci.mod             relocator.mod       udf.mod
affs.mod              cpuid.mod       functional_test.mod     hdparm.mod                lzopio.mod       part_acorn.mod       romfs.mod           ufs1_be.mod
afs.mod               crc64.mod       gcry_arcfour.mod        hello.mod                 macbless.mod     part_amiga.mod       scsi.mod            ufs1.mod
ahci.mod              cryptodisk.mod  gcry_blowfish.mod       help.mod                  macho.mod        part_apple.mod       search_fs_file.mod  ufs2.mod
all_video.mod         crypto.lst      gcry_camellia.mod       hexdump.mod               mdraid09_be.mod  part_bsd.mod         search_fs_uuid.mod  uhci.mod
aout.mod              crypto.mod      gcry_cast5.mod          hfs.mod                   mdraid09.mod     part_dfly.mod        search_label.mod    usb_keyboard.mod
appleldr.mod          cs5536.mod      gcry_crc.mod            hfspluscomp.mod           mdraid1x.mod     part_dvh.mod         search.mod          usb.mod
archelp.mod           ctz_test.mod    gcry_des.mod            hfsplus.mod               memdisk.mod      part_gpt.mod         serial.mod          usbms.mod
ata.mod               datehook.mod    gcry_dsa.mod            http.mod                  memrw.mod        partmap.lst          setjmp.mod          usbserial_common.mod
at_keyboard.mod       date.mod        gcry_idea.mod           iorw.mod                  minicmd.mod      part_msdos.mod       setjmp_test.mod     usbserial_ftdi.mod
backtrace.mod         datetime.mod    gcry_md4.mod            iso9660.mod               minix2_be.mod    part_plan.mod        setpci.mod          usbserial_pl2303.mod
bfs.mod               diskfilter.mod  gcry_md5.mod            jfs.mod                   minix2.mod       part_sun.mod         sfs.mod             usbserial_usbdebug.mod
bitmap.mod            disk.mod        gcry_rfc2268.mod        jpeg.mod                  minix3_be.mod    part_sunpc.mod       shift_test.mod      usbtest.mod
bitmap_scale.mod      div.mod         gcry_rijndael.mod       keylayouts.mod            minix3.mod       parttool.lst         signature_test.mod  verify.mod
blocklist.mod         div_test.mod    gcry_rmd160.mod         keystatus.mod             minix_be.mod     parttool.mod         sleep.mod           video_colors.mod
boot.mod              dm_nv.mod       gcry_rsa.mod            ldm.mod                   minix.mod        password.mod         sleep_test.mod      video_fb.mod
bsd.mod               echo.mod        gcry_seed.mod           legacycfg.mod             mmap.mod         password_pbkdf2.mod  spkmodem.mod        videoinfo.mod
bswap_test.mod        efifwsetup.mod  gcry_serpent.mod        legacy_password_test.mod  moddep.lst       pata.mod             squash4.mod         video.lst
btrfs.mod             efi_gop.mod     gcry_sha1.mod           linux16.mod               modinfo.sh       pbkdf2.mod           syslinuxcfg.mod     video.mod
bufio.mod             efi_netfs.mod   gcry_sha256.mod         linuxefi.mod              morse.mod        pbkdf2_test.mod      tar.mod             videotest_checksum.mod
cat.mod               efinet.mod      gcry_sha512.mod         linux.mod                 mpi.mod          pcidump.mod          terminal.lst        videotest.mod
cbfs.mod              efi_uga.mod     gcry_tiger.mod          loadbios.mod              msdospart.mod    play.mod             terminal.mod        xfs.mod
cbls.mod              ehci.mod        gcry_twofish.mod        load.cfg                  mul_test.mod     png.mod              terminfo.mod        xnu.mod
cbmemc.mod            elf.mod         gcry_whirlpool.mod      loadenv.mod               multiboot2.mod   priority_queue.mod   test_blockarg.mod   xnu_uuid.mod
cbtable.mod           eval.mod        geli.mod                loopback.mod              multiboot.mod    probe.mod            testload.mod        xnu_uuid_test.mod
cbtime.mod            exfat.mod       gettext.mod             lsacpi.mod                nativedisk.mod   procfs.mod           test.mod            xzio.mod
chain.mod             exfctest.mod    gfxmenu.mod             lsefimmap.mod             net.mod          progress.mod         testspeed.mod       zfscrypt.mod
cmdline_cat_test.mod  ext2.mod        gfxterm_background.mod  lsefi.mod                 newc.mod         raid5rec.mod         tftp.mod            zfsinfo.mod
cmp.mod               extcmd.mod      gfxterm_menu.mod        lsefisystab.mod           nilfs2.mod       raid6rec.mod         tga.mod             zfs.mod
cmp_test.mod          fat.mod         gfxterm.mod             lsmmap.mod                normal.mod       random.mod           time.mod
command.lst           file.mod        gptsync.mod             ls.mod                    ntfscomp.mod     read.mod             tpm.mod
configfile.mod        fixvideo.mod    grub.efi                lspci.mod                 ntfs.mod         reboot.mod           trig.mod
core.efi              font.mod        gzio.mod                lssal.mod                 odc.mod          regexp.mod           tr.mod

I fixed it.
https://forums.opensuse.org/showthread.php/531982-How-to-dual-boot-OpenSUSE-and-FreeBSD?p=2872224#post2872224

Hi
Can you post the output from the following command (as root user);


os-prober

If it’s not detecting FreeBSD, then it should be considered a bug…

openSUSE:Submitting bug reports - openSUSE

I am also requesting this, the same as Malcolm is.

There is no output:
https://i.hizliresim.com/RDQ9D7.png

No, it is missing feature. Which means if someone needs it, it should be implemented. Such support can only be implemented by someone having access to test system (i.e. dual *BSD/Linux installation). Which means bug is unlikely to help - patch is more useful …

Maybe FreeBSD install is using a file format Linux can’t read out of the box???