Grub Entry to Boot FreeBSD

infoomatic infoomatic at gmx.at
Thu Jun 3 11:10:56 UTC 2021


May I suggest using UEFI? With UEFI you can install refind, and in the
EFI partition there is a refind.conf where you can edit the default boot
option. Its really simple to setup and work with, the only small issue
is with an update on the Linux side it changes the efi boot order, but
with efibootmgr you can change it back...


On 02.06.21 06:10, Thomas D. Dean wrote:
> I have a remote system with Linux and FreeBSD.  I want to select the
> next boot OS at runtime and boot it.
>
> I can do that with
>    grub-set-default 'Ubuntu'
>    -or-
>    grub-set-default 'FreeBSD'
> and reboot.
>
> My problem is with the FreeBSD entry.  How do I write the entry?
>
> The disks are:
>   NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
> nvme0n1     259:0    0 931.5G  0 disk
> |-nvme0n1p1 259:4    0   512M  0 part /boot/efi
> `-nvme0n1p2 259:5    0   931G  0 part /
> nvme1n1     259:1    0 931.5G  0 disk
> `-nvme1n1p1 259:3    0 931.5G  0 part
> nvme2n1     259:2    0 931.5G  0 disk
> |-nvme2n1p1 259:6    0   512K  0 part
> |-nvme2n1p2 259:7    0   928G  0 part
> `-nvme2n1p3 259:8    0   3.5G  0 part
>
> /dev/nvme0n1p2: UUID="55626001-0033-445b-bd2b-0bf4766e25bb" TYPE="ext4"
>    PARTUUID="2b247e80-cf2e-4be1-b6d7-61152af7132f"
> /dev/nvme0n1p1: UUID="7076-258D" TYPE="vfat" PARTLABEL="EFI System
>    Partition" PARTUUID="16a50609-64b2-47ad-8802-c3cbb4be263f"
> /dev/nvme1n1p1: UUID="e26e4bf7-6e65-4fac-b2b4-f84019f70c08" TYPE="ext4"
>    PARTUUID="beccec5f-01"
> /dev/nvme2n1p1: PARTUUID="3fed2b68-c26f-11eb-a073-18c04d84849a"
> /dev/nvme2n1p2: UUID="60b57d7bd4b24f00" TYPE="ufs"
>    PARTUUID="3fed7a4f-c26f-11eb-a073-18c04d84849a"
> /dev/nvme2n1p3: PARTUUID="3fedfa22-c26f-11eb-a073-18c04d84849a"
>
> Device              Start        End    Sectors  Size Type
> /dev/nvme2n1p1         40       1063       1024  512K FreeBSD boot
> /dev/nvme2n1p2       1064 1946157095 1946156032  928G FreeBSD UFS
> /dev/nvme2n1p3 1946157096 1953525127    7368032  3.5G FreeBSD swap
>
> Ubuntu  is on nvme0n1, or, I think hd0,1 in grub terms.
> FreeBSD is on nvme2n1, or, I think hd2,2
>
> But, grub thinks hd2 is just hd2 or hd2,msdos1
>
> I have
> > cat /etc/grub.d/40_custom
> #!/bin/sh
> exec tail -n +3 $0
> # This file providesan easyway toadd custom menu entries.Simply type the
> # menu entries youwant toadd after this comment.Be careful not to change
> # the 'exec tail' line above.
> menuentry 'FreeBSD' {
>   insmod ufs2
>   set root=(hd2,2)
>   chainloader /boot/loader.elf
> }
>
> I tried
> menuentry 'FreeBSD' {
>     insmod ufs2
>     set root=(hd2,1,a)
>     search --no-floppy -fs-uuid --set
> 3fed2b68-c26f-11eb-a073-18c04d84849a
>     kfreebsd /boot/loader
> }
>
> When I reboot after grub-set-default 'FreeBSD', the remote system
> hangs.  Grub can not find hd2.
>
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to
> "freebsd-questions-unsubscribe at freebsd.org"


More information about the freebsd-questions mailing list