다양한 Linux 이미지를 멀티부팅하기 위해 USB 키를 설정했습니다. FreeNAS를 추가해도 괜찮습니다.문서샘플을 추가하고grub.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
}
부팅을 시도한 결과 vfs 루트 설정에 대해 약간 확신이 없습니다.
몇 가지 유용한 정보는 다음에서 찾을 수 있습니다. grub2 USB 스틱에서 FreeBSD iso를 부팅합니다.
답변1
USB 플래시 드라이브에서 부팅하려고 하므로 장치는 da로 시작됩니다. 출력에서 /dev/da0으로 감지되는 것을 볼 수 있습니다. 장치가 분할된 방식에 따라 /dev/da0s1a 또는 /dev/da0a(bsdlabel이 없는 경우)처럼 보일 수 있습니다.
문제는 시스템에 따라 모든 경우에 da0을 감지하지 못할 수도 있다는 것입니다. da는 scsi 장치에도 사용되며 USB 미디어 리더도 da* 장치로 나타납니다. 일단 부팅할 수 있으면 해결 방법은 GEOM 레이블 기능을 사용하여 마운트 지점에 "이름을 지정"한 다음 fstab을 변경하여 이름으로 참조하도록 하는 것입니다. 해당 시점에 어떤 장치가 태그되어 있는지에 관계없이 항상 작동합니다. FreeBSD 환경에 대한 자세한 내용은 man glabel을 참조하세요. (또는 freebsd 매뉴얼이 있는 웹사이트를 확인하세요)
답변2
부팅 시 USB 드라이브가 아직 존재를 보고하지 않았기 때문에 커널이 정지된 것 같습니다. 귀하의 구성이 무엇인지 궁금합니다. 하지만 작동하지 않고 FreeBSD 커널에 대한 올바른 부팅 장치 이름을 제공하지 않습니다.
사용 가능한 드라이브에 대해 커널에 문의해야 합니다. 메시지가 표시되면 "?"를 입력합니다. 그런 다음 루트 파티션에 대한 올바른 루트 파일 시스템 사양을 입력해야 합니다. USB 드라이브를 어떻게 분할했는지에 따라 ufs:/dev/da0s1a처럼 보일 것입니다.
올바른 드라이브 경로를 찾으면 해당 경로로 grub.conf를 변경해야 합니다. 또한 설정이 자동으로 무시되므로 "kFreeBSD"가 아닌 "FreeBSD"로 읽어야 합니다.
답변3
USB 초기화 지연을 늘리려면 로더 변수를 추가해 보세요. 이 변수를 /boot/loader.conf에 추가하거나 부팅 시 메시지가 표시될 때 추가할 수 있습니다. 또는 부팅 메뉴에서 "세 번째" 옵션을 선택하여 USB 부팅을 허용할 수도 있습니다. (3번째인지는 모르겠네요)
set kern.cam.boot_delay="10000"
이는 부팅 프로세스에서 USB 스틱을 마운트하지 못한 경우에 유용합니다.
위의 세 가지 옵션 모두 동일한 작업을 수행합니다.
행운을 빌어요