Como inicializar a IMAGEM DVD-ISO ao vivo do PC-BSD diretamente via GRUB2?

8

Através do comando loopback , o GRUB2 permite inicializar diretamente um arquivo ISO.

Agora, configurei o menuentry de acordo para inicializar o ISO do PC-BSD Live DVD , mas quando tento inicializá-lo, o carregador de inicialização do FreeBSD produz:

can't load 'kernel'

Aqui está o menuentry do GRUB2 que eu uso atualmente:

menuentry "PC-BSD" {
        search --no-floppy --fs-uuid --set root 0d11c28a-7186-43b9-ae33-b4bd351c60ad
        loopback loop /PCBSD9.0-RC1-x64-DVD-live.iso
        kfreebsd (loop)/boot/loader
}

Alguém sabe como eu precisaria alterar isso para poder inicializar o sistema ao vivo PC-BSD?

user569825
fonte

Respostas:

1

Depois de "não é possível carregar o 'kernel'", você é direcionado ao prompt do carregador.

Ele possui um lscomando, para que você possa verificar onde está o seu kernel e carregá-lo loade depois boot.

Além disso, você pode tentar inicializar o kernel diretamente, tentando algo como kfreebsd (loop)/boot/kernel/kernel.

arqueado
fonte
Um pouco tarde, mas acabei de ver sua resposta. lsopen '/' failed: no such file or directory. Gostaria de saber como o carregador funciona enquanto (aparentemente) nenhuma raiz é encontrada?
usar o seguinte comando
0

Você pode tentar carregar em cadeia o carregador de inicialização na sua imagem. O carregamento em cadeia do grub2 funciona assim:

insmod chain
set root = (hdX,Y)
chainloader +1
todos
fonte
0

Edit: como alguém mencionado neste tópico , o problema é que, em algum momento, o processo de inicialização deseja montar o sistema de arquivos raiz a partir do dispositivo de loopback de uma maneira que não é possível com a funcionalidade de loopback do GRUB. Observe que o PC-BSD foi renomeado para TrueOS e agora eles oferecem imagens USB.


Não estou muito familiarizado com o BSD e não consigo encontrar nada sobre o BSD no artigo da unidade Multiboot USB da Arch , no entanto, eles têm três maneiras no artigo do GRUB , pelo menos um deve funcionar quando adaptado a dispositivos montados em loop:

Carregando o registro de inicialização incorporado em cadeia

menuentry 'FreeBSD' {
  insmod ufs2
  set root='hd0,gpt4,bsd1'
  chainloader +1
}

Parece simples e carregar o módulo do sistema de arquivos apropriado parece ser uma boa ideia, mas lembre-se de que na mídia óptica existe a ISO 9660 ou UDF e, pelo que sei, não existem partições, a não ser o El Torito.

Executando o tradicional carregador de segundo estágio BSD

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

Isso foi quase o que você fez apenas como uma configuração estática sem chamar a pesquisa.

Carregando o kernel diretamente

menuentry 'FreeBSD' {
  insmod ufs2
  set root='hd0,gpt4,bsd1'
  ## or 'hd0,msdos4,bsd1', if using an IBM-PC (MS-DOS) style partition table
  kfreebsd /boot/kernel/kernel
  kfreebsd_loadenv /boot/device.hints
  set kFreeBSD.vfs.root.mountfrom=ufs:/dev/ada0s4a
  set kFreeBSD.vfs.root.mountfrom.options=rw
}

Isso parece surpreendentemente complexo. Acabei de começar a baixar o PC-BSD 10.3 iso, espero encontrar algum tempo para descobrir como fazê-lo funcionar via UEFI ou legado nos próximos dias.

LiveWireBT
fonte