Configuração do GRUB em funcionamento para a inicialização via UEFI do FreeBSD

2

Eu estou tentando duelar boot x86_64 máquina rodando o freeBSD 10.1 usando o grub. A instalação do FreeBSD Grub2-efi parece ir bem, mas não havia o grub.cfg. Eu criei manualmente o grub.cfg. Abaixo estão as configurações que eu tentei e os resultados que consegui.

Minha configuração:

gpart show -l
=>        6  146239733  da0  GPT  (558G)
          6         10       - free -  (40K)
         16        128    1  (null)  (512K)
        144     262144    2  efi  (1.0G) -----> MY ESP
     262288    1048576    3  rootfs  (4.0G) ----> freebsd+ grub are here
    1310864    2097152    4  swap  (8.0G)
    3408016    1048576    5  nextroot  (4.0G) 

Comando de instalação do Grub:

grub-install --target=x86_64-efi --efi-directory=/efi/ --bootloader-id=grub --boot-directory=/boot/ --modules="part_gpt part_msdos"

Configuração 1:

    menuentry "FreeBSD" {
        insmod ufs2
        insmod bsd
        set root=(hd0,3)
        kfreebsd /boot/loader.efi
   }

Resultado: está reclamando 'cabeçalho inválido a.out'.

Configuração 2:

    menuentry "FreeBSD" {
        insmod ufs2
        insmod bsd
        set root=(hd0,3)
        kfreebsd /boot/loader
   }

Resultado: Tela em branco com blurr branco no topo. É um problema de vídeo?

Configuração 3:

menuentry "FreeBSD" {
    insmod ufs2
    insmod bsd
    insmod gfxterm
    insmod font
    insmod videotest
    insmod videoinfo
    set gfxmode=auto
    set kernvt="vt"
    set root=(hd0,3)
    kfreebsd /boot/boot1.efi
}

Resultado novamente: tela em branco com desfoque rápido na parte superior.

Configuração 4:

menuentry "FreeBSD" {
    insmod ufs2
    insmod bsd
    insmod gfxterm
    insmod videotest
    insmod videoinfo
    set gfxmode=auto
    set kernvt="vt"
    set root=(hd0,3)
    chainloader /boot/boot1.efi
}

result: assinatura não correspondente. Não inicializando

Não tenho certeza do que estou perdendo. Alguém pode por favor rever o meu grub.cfg? Existe alguma coisa óbvia que eu estou sentindo falta? Eu aprecio muito se alguém pode compartilhar a configuração do grub usando o grub de inicialização do UEFI no x86.

    
por Satpal Parmar 28.03.2017 / 05:41

1 resposta

2

No sistema operacional Linux, adicione a nova entrada do FreeBSD ao seu /etc/grub.d/40_custom e, em seguida, gere novamente o arquivo grub.cfg :

rm /boot/grub/grub.cfg

Adicione a seguinte linha ao seu /etc/grub.d/40_custom :

menuentry "FreeBSD" {
insmod ufs2
set root=(hd0,gpt3)
kfreebsd /boot/loader
}

Executar grub-mkconfig :

grub-mkconfig -o /boot/grub/grub.cfg

Editar

Você deve criar uma partição bios-boot (size = 1 M)

Do FreeBSD, depois de instalar grub da coleção de ports, instale-o corretamente usando o seguinte comando:

grub-install --modules=part_gpt /dev/ada0

Use o comando gpart show para obter o dispositivo correto.

Execute o comando grub-mkconfig -o /boot/grub/grub.cfg , ele gerará grub.cfg para você.

    
por 28.03.2017 / 11:50