Stefano가 말했듯이 kvm + libvirt + virt-manager 대신 xen을 하이퍼바이저로 사용하여 Devuan 5가 설치된 ARM Chromebook에서 FreeBSD를 부팅해 보았습니다.
Libvirt + virt-manager with the xen accelerator might work on the ARM Chromebook.
That's because as far as I know Xen integration in libvirt is done via linking to
libxl directly and libxl is supported and working on ARM.
불행히도 뭔가가 제대로 작동하지 않습니다. 내가 한 일은 xen에서 컴퓨터를 다시 시작하고 libvirtd & virtlogd & 및 virt-manager &를 활성화하는 것뿐이었지만 일어난 일은 다음과 같습니다.
Traceback (most recent call last):
File "/usr/lib/xen-4.17/bin/pygrub", line 884, in <module>
raise RuntimeError("Unable to find partition containing kernel")
RuntimeError: Unable to find partition containing kernel
FreeBSD 파일 시스템 구조와 커널을 인식하지 못하는 것 같습니다. Libvirt는 FreeBSD가 아닌 Linux를 부팅하도록 프로그래밍된 것 같습니다. 사실 나는 그 반대를 증명했습니다.
이 기사에 따르면:
https://blog.roberthallam.org/2020/05/solving-unable-to-find-partition-포함-kernel/
"debian.img"라는 이미지 파일의 부팅 디렉터리에 menu.lst라는 파일을 만들고 여기에 다음 내용을 추가했습니다.
default 0
timeout 10
title Debian
root (hd0,1)
kernel /boot/vmlinux-6.1.59-stb-xen-cbe+ root=/dev/xvda
initrd /boot/initrd.img-6.1.59-stb-xen-cbe+
virt-manager를 사용하여 이미지 부팅을 다시 시도했습니다. 이번에도 다음과 같은 오류가 발생했습니다.
error :libxlDomainStartPerform:1256 : internal error :
libxenlight failed to create new domain 'debian12'
하지만 로그 파일을 살펴보면서 흥미로운 상황을 발견했습니다.
Using <class 'grub.GrubConf.GrubConfigFile'> to parse /boot/grub/menu.lst
(B )0 [1;24r [m [?7h [?1h = [H [J [?1h = [1B pyGRUB version 0.6
[1B [0m
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
[1B [0m x [0;7m Debian 12
[m [0m x
[1B [0m x [72C [0m x
[1B [0m x [72C [0m x
[1B [0m x [72C [0m x
[1B [0m x [72C [0m x
[1B [0m x [72C [0m x
[1B [0m x [72C [0m x
[1B [0m x [72C [0m x
[1B [0m
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
[1B [70D [0m Use the ↑ and ↓ keys to select which entry is highlighted. [1B
[58DPress enter to boot the selected OS, 'e' to edit the [1B [52Dcommands
before booting, 'a' to modify the kernel arguments [1B [59Dbefore booting,
or 'c' for a command line. [12A [26C [17B [68DWill boot selected entry in
10 seconds [?1h =
[J [17A [73C [17B [68DWill boot selected entry in 9 seconds [?1h =
[J [17A [73C [17B [68DWill boot selected entry in 8 seconds [?1h =
[J [17A [73C [17B [68DWill boot selected entry in 7 seconds [?1h =
[J [17A [73C [17B [68DWill boot selected entry in 6 seconds [?1h =
[J [17A [73C [17B [68DWill boot selected entry in 5 seconds [?1h =
[J [17A [73C [17B [68DWill boot selected entry in 4 seconds [?1h =
[J [17A [73C [17B [68DWill boot selected entry in 3 seconds [?1h =
[J [17A [73C [17B [68DWill boot selected entry in 2 seconds [?1h =
[J [17A [73C [17B [68DWill boot selected entry in 1 seconds [?1l >
[24;1H [?1l >
따라서 시작을 시도하는 것 같지만 알 수 없는 이유로 여전히 오류가 발생합니다.
어쨌든 내 xen 설정은 더 이상 손상되지 않습니다. Linux는 FreeBSD가 아닌 Libvirt를 사용하여 부팅하는 것 같습니다.