Tengo la configuración de llaves USB para arrancar varias imágenes diferentes de Linux. No me importaría agregar FreeNAS, y hay un documento con muestras para agregar agrub.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
}
No estoy seguro de configurar la raíz vfs. Aquí está el resultado de intentar arrancar esto;
Alguna información útil se puede encontrar en; arranque FreeBSD iso desde la memoria USB grub2
grub.cfg
Respuestas:
Como está intentando iniciar una unidad flash USB, el dispositivo comenzará con da. En la salida, puede ver que se detectó como / dev / da0. Dependiendo de cómo se particionó el dispositivo, podría ser algo como / dev / da0s1a o / dev / da0a (si no hay bsdlabel).
El problema con esto es que, dependiendo de la computadora, es posible que no se detecte como da0 en todos los casos. da también se usa para dispositivos scsi y los lectores de medios usb también aparecerán como dispositivos da *. Una solución alternativa una vez que puede hacer que arranque, es usar la función de etiqueta GEOM para "nombrar" el punto de montaje y luego puede cambiar su fstab para referirse a él por su nombre. Siempre funcionará independientemente de qué dispositivo esté etiquetado en ese momento. man glabel para más información en un entorno FreeBSD. (o consulte un sitio web con manuales de freebsd)
fuente
Parece que el kernel se ha estancado, ya que cuando se trata de arrancar la unidad usb aún no se ha informado sobre su existencia. Me pregunto qué hace su configuración, pero no funciona y no proporcionó el nombre correcto del dispositivo del núcleo de FreeBSD para el arranque.
Debe preguntarle al núcleo sobre las unidades disponibles que escriben '?' Como sugiere pronto. Después de eso, debe escribir la especificación correcta del sistema de archivos raíz para su partición raíz. Debería ser algo como ufs: / dev / da0s1a dependiendo de cómo particionó su unidad usb.
Cuando encuentre la ruta correcta de la unidad, debe alterar su grub.conf con esa ruta. También tenga en cuenta que debería leer 'FreeBSD', no 'kFreeBSD' ya que su configuración simplemente se ignora en silencio.
fuente
Intente agregar una variable de cargador para aumentar el retraso para la inicialización de USB. Puede agregar esta variable a /boot/loader.conf o durante el tiempo de arranque en el indicador. Alternativamente, también puede seleccionar la opción '3' en el menú de arranque para permitir el arranque desde USB. (no estoy 100% seguro si es el tercero)
set kern.cam.boot_delay="10000"
Esto funciona cuando el proceso de arranque tiene problemas para montar la memoria USB.
Las tres opciones anteriores logran lo mismo
Buena suerte
fuente