Adiciona o FreeBSD ao menu de inicialização do GRUB2

11

Eu tenho o Gentoo x64 instalado com o Grub2 na minha unidade MBR. Hoje instalei o FreeBSD x64 9.2. Agora estou no Gentoo e tentando adicionar o FreeBSD à lista de menu grub2 .

grub2-install /dev/sda
os-prober
grub2-mkconfig -o /boot/grub2/grub.cfg

Eu fiz o acima no Gentoo e ele não encontrou o FreeBSD. A partição aninhada do FreeBSD está em sda1 e contém freebsd-ufs e freebsd-swap partitions.

Como eu poderia adicionar o FreeBSD a grub2 ?

    
por r004 14.01.2014 / 09:29

5 respostas

8

Aqui está o meu:

menuentry "FreeBSD" --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/ada0s1a
 set kFreeBSD.vfs.root.mountfrom.options=rw
 set kFreeBSD.hw.psm.synaptics_support=1
}
    
por 14.01.2014 / 10:39
3

Aqui está a minha entrada e espero que ajude :)!

Meu objetivo era: Inicializar o FreeBSD 10 do Grub2 editando o 40_custom em /etc/grub.d

My Setup: O FreeBSD10 está no quinto disco rígido do meu sistema (/ dev / sde no Linux, então hd4 para o Grub2. Lembre-se que no Grub2 hd começa em hd0 para drives, e partições de 1 em, não zero). A partição raiz é a segunda (/ dev / sde2) já que usei o particionamento guiado do FreeBSD (use o disco inteiro) durante a instalação (mais simples). Relembrando, isto é: set root = '(hd4,2)' para o quinto disco rígido e a segunda partição.

info: (chainloader +1 na verdade não é necessário! O seguinte me traz diretamente ao FreeBSDs Bootloader).

Para resumir um pouco: você só precisa se adaptar ao set root = (x, x), nada mais é necessário. Se você quer inicializar o kernel diretamente, as coisas ficam um pouco mais complexas do que a entrada abaixo.

menuentry "FreeBSD 10.0" {
    insmod part_gpt
    set root='(hd4,2)'
    kfreebsd /boot/loader
}

Eu fiquei um pouco desapontado com o os-prober que acabou de encontrar 'Unknown linux distribution on / dev / sde2'

ps: não esqueça 'update-grub' depois e Taddaa (esperançosamente). :) Se alguém conseguir, jogue-me uma mensagem, ficaria feliz em ouvir de você!

    
por 19.09.2014 / 03:18
2

Faça na seguinte ordem:

  1. Edite seu /etc/grub.d/40_custom e adicione as diretivas do uzsolt . Adicione a diretiva no end do arquivo. Não exclua nada que esteja lá .

  2. Verifique se 40_custom é executável. Se não, então chmod u+x 40_custom .

  3. Agora faça isso para gravar as alterações em grub.cfg .

    grub2-install /dev/sda 
    os-prober 
    grub2-mkconfig -o /boot/grub/grub.cfg
    
  4. Tada! Reinicie agora; você deve ter o FreeBSD na sua lista de SOs no menu GRUB.

Para ter acesso à sua partição de partição UFS, faça o seguinte:

  1. Edite sua configuração de kernel para adicionar UFS filesystem e UFS label .

  2. Em seguida, make && make_modules do seu kernel.

  3. Instale o software do sistema de arquivos UFS .

  4. Monte seu Fatia UFS no seu Linux:

    sudo mkdir /mnt/freebsd && sudo mount -r -t ufs -o ufstype=ufs2 /dev/sda1 /mnt/freebsd
    
por 13.04.2017 / 14:36
1

O Wiki do Arch Linux tem uma explicação muito boa para o mesmo. Ele orienta a maneira normal, ou seja, o carregamento direto do sistema operacional, bem como o carregamento em cadeia.

No entanto, não se deve esquecer de emitir sudo grub-mkconfig -o /boot/grub/grub.cfg para confirmar alterações.

    
por 10.07.2015 / 13:05
1

De acordo com este site :

  1. Inicialize o Linux.
  2. Crie um arquivo /boot/grub2/custom.cfg .
  3. Adicione estas linhas ao arquivo criado:

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

    onde hd0,3 significa que este é o primeiro disco rígido e o FreeBSD está em sua terceira partição (já que os discos são numerados de 0 e as partições são numeradas de 1). Provavelmente você terá que ajustar esses números. Uma maneira de descobrir quais são seus discos é executar fdisk -l .

  4. Execute grub2-mkconfig -o /boot/grub2/grub.cfg .

Lembre-se de que seus comandos podem ser ligeiramente diferentes. grub2-mkconfig pode ser grub-mkconfig e assim por diante (esse foi o meu caso no BunsenLabs Linux).

Lembre-se que eu estava usando o FreeBSD com o UFS ao invés do ZFS nesta máquina. A solução apresentada não funciona para instalações baseadas em ZFS pelo que ouvi.

    
por 19.03.2016 / 04:00

Tags