Eu tenho a configuração de chaves USB para inicializar várias imagens diferentes do Linux. Eu não me importaria de adicionar o FreeNAS, e há um documento com amostras para adicionar aogrub.cfg
menuentry "FreeNAS-8.0.4-RELEASE-x64" {
insmod ufs2
insmod iso9660
# /usr/local/sbin/grub-probe -d /dev/sde1 -t fs_uuid
# c89c-7b3a
#search --no-floppy --fs-uuid --set c89c-7b3a
set isofile="/boot/FreeNAS-8.0.4-RELEASE-x64.iso"
loopback loop $isofile
kfreebsd (loop)/boot/kernel/kernel.gz
kfreebsd_loadenv (loop)/boot/device.hints
#set FreeBSD.vfs.root.mountfrom=ufs:/dev/ad4s1a
set kFreeBSD.vfs.root.mountfrom=ufs:/dev/acd0
set kFreeBSD.vfs.root.mountfrom.options=rw
#set vfs.root.mountfrom=cd9660:/dev/ad1s1
#set vfs.root.mountfrom.options=rw
}
Estou um pouco inseguro ao definir a raiz do vfs. Aqui está o resultado da tentativa de inicializar isso;
Algumas informações úteis podem ser encontradas em; inicialize o FreeBSD iso a partir do grub2 stick USB
grub.cfg
Respostas:
Como você está tentando inicializar uma unidade flash USB, o dispositivo começará com da. Na saída, você pode ver que foi detectado como / dev / da0. Dependendo de como o dispositivo foi particionado, pode ser algo como / dev / da0s1a ou / dev / da0a (se não houver bsdlabel).
O problema é que, dependendo do computador, ele pode não ser detectado como da0 em todos os casos. da também é usado para dispositivos scsi e os leitores de mídia usb também aparecerão como dispositivos da *. Uma solução alternativa, uma vez que você pode inicializá-lo, é usar o recurso de rótulo GEOM para "nomear" o ponto de montagem e, em seguida, você pode alterar seu fstab para se referir a ele pelo nome. Ele sempre funcionará independentemente de qual dispositivo está rotulado. man glabel para mais informações em um ambiente FreeBSD. (ou consulte um site com manuais freebsd)
fonte
Parece que o kernel parou como quando se trata de inicializar um drive USB ainda não informou sobre sua existência. Gostaria de saber o que sua configuração faz, mas ela não funciona e não forneceu o nome de dispositivo correto do kernel do FreeBSD para a inicialização.
Você precisa perguntar ao kernel sobre as unidades disponíveis, digitando '?' como o prompt sugere. Depois disso, você deve digitar a especificação correta do sistema de arquivos raiz para sua partição raiz. Deve ser algo como ufs: / dev / da0s1a, dependendo de como você particionou sua unidade USB.
Quando você encontrar o caminho da unidade correto, você deve alterar o seu grub.conf com esse caminho. Observe também que ele deve ler 'FreeBSD', não 'kFreeBSD', pois sua configuração é ignorada silenciosamente.
fonte
Tente adicionar uma variável do carregador para aumentar o atraso da inicialização do USB. Você pode adicionar essa variável ao /boot/loader.conf ou durante o tempo de inicialização no prompt. Como alternativa, você também pode selecionar a opção '3' no menu de inicialização para permitir a inicialização a partir do USB. (não tem 100% de certeza se é o terceiro)
set kern.cam.boot_delay="10000"
Isso funciona para quando o processo de inicialização tiver problemas para montar o pen drive.
Todas as três opções acima realizam a mesma coisa
Boa sorte
fonte