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.
ls
dáopen '/' failed: no such file or directory
. Gostaria de saber como o carregador funciona enquanto (aparentemente) nenhuma raiz é encontrada?